[Webkit-unassigned] [Bug 70995] The GC should be parallel
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Sat Oct 29 22:27:05 PDT 2011
https://bugs.webkit.org/show_bug.cgi?id=70995
Filip Pizlo <fpizlo at apple.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Attachment #112647|0 |1
is obsolete| |
--- Comment #8 from Filip Pizlo <fpizlo at apple.com> 2011-10-29 22:27:05 PST ---
Created an attachment (id=112985)
--> (https://bugs.webkit.org/attachment.cgi?id=112985&action=review)
the patch
Implemented a bunch of stuff:
- Better memory management for mark stack segments.
- Better load balancing. It can now scale to 8 processors.
- Autodetection of number of processors. It still caps itself at 4 threads, though, since that seems to be where we get peak efficiency.
Benchmark report for SunSpider, V8, and Kraken.
VMs tested:
"TipOfTree" at /Volumes/Data/pizlo/quinary/OpenSource/WebKitBuild/Release/jsc
"ParallelGC" at /Volumes/Data/pizlo/senary/OpenSource/WebKitBuild/Release/jsc
Collected 12 samples per benchmark/VM, with 4 VM invocations per benchmark. Emitted a call to gc() between sample
measurements. Used 1 benchmark iteration per VM invocation for warm-up. Used the jsc-specific preciseTime()
function to get microsecond-level timing. Reporting benchmark execution times with 95% confidence intervals in
milliseconds.
TipOfTree ParallelGC
SunSpider:
3d-cube 7.2847+-0.1599 7.2000+-0.1390 might be 1.0118x faster
3d-morph 7.6836+-0.1079 7.6069+-0.1119 might be 1.0101x faster
3d-raytrace 7.5123+-0.1952 7.4649+-0.1720
access-binary-trees 1.6509+-0.0469 1.6238+-0.0729 might be 1.0167x faster
access-fannkuch 6.5595+-0.0676 6.4896+-0.1053 might be 1.0108x faster
access-nbody 3.7379+-0.0998 3.7356+-0.0627
access-nsieve 2.5926+-0.0849 ? 2.6093+-0.0612 ?
bitops-3bit-bits-in-byte 1.2904+-0.0295 ? 1.3312+-0.0385 ? might be 1.0316x slower
bitops-bits-in-byte 2.4042+-0.0579 2.3689+-0.0429 might be 1.0149x faster
bitops-bitwise-and 3.3795+-0.1010 ? 3.3876+-0.1226 ?
bitops-nsieve-bits 5.4380+-0.0857 ? 5.5171+-0.1328 ? might be 1.0145x slower
controlflow-recursive 2.1209+-0.0514 ? 2.1224+-0.0579 ?
crypto-aes 7.2702+-0.1745 ? 7.3951+-0.1885 ? might be 1.0172x slower
crypto-md5 2.7203+-0.0754 ? 2.7662+-0.0691 ? might be 1.0169x slower
crypto-sha1 2.4430+-0.0617 2.4351+-0.0454
date-format-tofte 10.0079+-0.1732 9.9916+-0.2204
date-format-xparb 8.8878+-0.1903 ! 9.3501+-0.2024 ! definitely 1.0520x slower
math-cordic 6.4491+-0.1291 6.2971+-0.0644 might be 1.0241x faster
math-partial-sums 7.5129+-0.1028 ? 7.5139+-0.1127 ?
math-spectral-norm 2.5601+-0.0628 ? 2.6399+-0.0440 ? might be 1.0312x slower
regexp-dna 11.5483+-0.1454 11.4922+-0.1442
string-base64 4.2972+-0.0686 ? 4.4867+-0.1473 ? might be 1.0441x slower
string-fasta 6.2632+-0.1289 ? 6.3459+-0.1575 ? might be 1.0132x slower
string-tagcloud 11.4555+-0.3263 ? 11.4960+-0.2517 ?
string-unpack-code 20.6781+-0.2345 ? 20.7067+-0.3981 ?
string-validate-input 5.2387+-0.0995 5.1660+-0.0626 might be 1.0141x faster
<arithmetic> * 6.1149+-0.0322 ? 6.1361+-0.0250 ?
<geometric> 4.9388+-0.0250 ? 4.9601+-0.0212 ?
<harmonic> 3.9553+-0.0259 ? 3.9773+-0.0249 ?
TipOfTree ParallelGC
V8:
crypto 74.1679+-0.3164 74.0380+-0.3816
deltablue 179.7767+-1.9744 179.3566+-1.2107
earley-boyer 91.6448+-0.5219 90.9476+-0.4252
raytrace 62.5295+-0.4596 ! 64.3819+-0.9545 ! definitely 1.0296x slower
regexp 105.5681+-0.4315 105.4897+-0.4094
richards 126.3819+-0.6091 ? 127.1708+-0.3652 ?
splay 93.6141+-0.7341 ^ 71.9968+-0.5395 ^ definitely 1.3003x faster
<arithmetic> 104.8119+-0.2897 ^ 101.9116+-0.3152 ^ definitely 1.0285x faster
<geometric> * 99.3299+-0.2377 ^ 95.9869+-0.3252 ^ definitely 1.0348x faster
<harmonic> 94.5656+-0.2492 ^ 91.0851+-0.3703 ^ definitely 1.0382x faster
TipOfTree ParallelGC
Kraken:
ai-astar 496.4468+-1.2667 ? 499.0402+-3.6723 ?
audio-beat-detection 192.5907+-1.4966 191.6971+-1.2168
audio-dft 266.8459+-3.4843 ? 267.9069+-3.7898 ?
audio-fft 125.3709+-0.6697 ? 125.7723+-1.2540 ?
audio-oscillator 252.4701+-1.2692 251.8329+-1.2081
imaging-darkroom 404.3208+-1.1456 ? 405.2122+-1.1299 ?
imaging-desaturate 226.4488+-0.4880 225.4735+-1.0376
imaging-gaussian-blur 558.3593+-1.6383 558.0886+-2.0891
json-parse-financial 57.1418+-0.4478 ? 58.0770+-0.6443 ? might be 1.0164x slower
json-stringify-tinderbox 68.5476+-0.3060 68.2372+-0.3896
stanford-crypto-aes 134.3287+-1.8809 131.6633+-1.4008 might be 1.0202x faster
stanford-crypto-ccm 100.6053+-0.8729 100.2639+-0.5752
stanford-crypto-pbkdf2 194.3023+-1.7189 192.6526+-1.6629
stanford-crypto-sha256-iterative 71.1339+-0.3512 ? 71.1519+-0.6564 ?
<arithmetic> * 224.9224+-0.3267 224.7907+-0.6364
<geometric> 177.2358+-0.3153 177.0139+-0.4504
<harmonic> 139.6362+-0.3532 139.6204+-0.3786
TipOfTree ParallelGC
All benchmarks:
<arithmetic> 85.9911+-0.1177 ^ 85.5317+-0.2086 ^ definitely 1.0054x faster
<geometric> 22.4348+-0.0689 22.3655+-0.0666
<harmonic> 6.9654+-0.0445 ? 7.0000+-0.0428 ?
TipOfTree ParallelGC
Geomean of preferred means:
<scaled-result> 51.5027+-0.1124 ^ 50.9673+-0.1145 ^ definitely 1.0105x faster
--
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
More information about the webkit-unassigned
mailing list