[Webkit-unassigned] [Bug 71650] DFG argument profiling should only be activated once code gets hot
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Mon Nov 7 20:08:09 PST 2011
https://bugs.webkit.org/show_bug.cgi?id=71650
--- Comment #3 from Filip Pizlo <fpizlo at apple.com> 2011-11-07 20:08:09 PST ---
Did some more work, and it appears to be a win for page load. Playing around with it a bit more, but I think this thing is worth landing.
It also doesn't adversely affect the standard benchmarks. Here's the performance on two different kinds of hardware.
Benchmark report for SunSpider, V8, and Kraken on nitroflex.local (MacBookPro8,2).
VMs tested:
"TipOfTree" at /Volumes/Data/pizlo/quinary/OpenSource/WebKitBuild/Release/jsc (r99516)
"ValueProfLight" at /Volumes/Data/pizlo/senary/OpenSource/WebKitBuild/Release/jsc (r99516)
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 ValueProfLight
SunSpider:
3d-cube 7.2304+-0.1731 ? 7.2564+-0.1386 ?
3d-morph 7.4582+-0.0915 ? 7.4966+-0.1286 ?
3d-raytrace 7.7481+-0.1305 7.6149+-0.1324 might be 1.0175x faster
access-binary-trees 1.6406+-0.0471 1.6102+-0.0582 might be 1.0189x faster
access-fannkuch 6.4688+-0.1215 6.4676+-0.1043
access-nbody 3.7328+-0.1477 ? 3.7692+-0.1055 ?
access-nsieve 2.6139+-0.0610 ? 2.6891+-0.0754 ? might be 1.0288x slower
bitops-3bit-bits-in-byte 1.3106+-0.0239 ? 1.3151+-0.0156 ?
bitops-bits-in-byte 2.3647+-0.0521 ? 2.4284+-0.0684 ? might be 1.0269x slower
bitops-bitwise-and 3.2559+-0.0765 3.2366+-0.0710
bitops-nsieve-bits 5.3216+-0.1304 ? 5.3441+-0.1130 ?
controlflow-recursive 2.1311+-0.0371 2.1270+-0.0561
crypto-aes 7.9343+-0.1973 7.9052+-0.2799
crypto-md5 2.5932+-0.0701 ? 2.6134+-0.0530 ?
crypto-sha1 2.4342+-0.0640 ? 2.4643+-0.1180 ? might be 1.0124x slower
date-format-tofte 10.1530+-0.2708 ? 10.2356+-0.3027 ?
date-format-xparb 9.5573+-0.2211 ^ 9.0603+-0.2304 ^ definitely 1.0549x faster
math-cordic 6.4775+-0.1294 6.3919+-0.0936 might be 1.0134x faster
math-partial-sums 7.5949+-0.1722 ? 7.9073+-0.4881 ? might be 1.0411x slower
math-spectral-norm 2.5801+-0.0634 ? 2.6212+-0.0546 ? might be 1.0159x slower
regexp-dna 11.6116+-0.2631 ? 11.6872+-0.2266 ?
string-base64 4.1823+-0.1491 4.0680+-0.1552 might be 1.0281x faster
string-fasta 6.4279+-0.1428 6.3788+-0.1404
string-tagcloud 11.9419+-0.3328 11.7197+-0.4272 might be 1.0190x faster
string-unpack-code 21.1210+-0.3590 ? 21.1276+-0.5957 ?
string-validate-input 5.0950+-0.0722 ? 5.2114+-0.0867 ? might be 1.0228x slower
<arithmetic> * 6.1916+-0.0311 6.1826+-0.0561
<geometric> 4.9594+-0.0218 ? 4.9634+-0.0416 ?
<harmonic> 3.9503+-0.0243 ? 3.9614+-0.0478 ?
TipOfTree ValueProfLight
V8:
crypto 72.8888+-0.7654 72.7866+-0.8761
deltablue 164.9539+-1.4164 164.0539+-2.5844
earley-boyer 88.0223+-0.9300 ? 88.3923+-1.3018 ?
raytrace 62.4079+-0.6167 61.7791+-1.1031 might be 1.0102x faster
regexp 105.1340+-0.6417 104.8354+-1.2056
richards 124.2478+-0.9301 123.7775+-0.5580
splay 71.8906+-1.1361 ? 73.5871+-1.2935 ? might be 1.0236x slower
<arithmetic> 98.5065+-0.3984 98.4588+-0.6440
<geometric> * 93.3951+-0.4173 ? 93.4398+-0.6286 ?
<harmonic> 88.9991+-0.4380 ? 89.0937+-0.6635 ?
TipOfTree ValueProfLight
Kraken:
ai-astar 491.0646+-7.4438 488.5014+-3.5650
audio-beat-detection 187.9569+-1.5960 ? 188.9246+-2.0744 ?
audio-dft 265.8988+-4.5920 265.8597+-2.3995
audio-fft 124.3408+-1.1471 123.3499+-1.4393
audio-oscillator 250.4971+-1.1528 ? 251.6878+-2.2429 ?
imaging-darkroom 298.8867+-4.1479 298.8029+-4.6689
imaging-desaturate 223.9861+-0.9883 ! 227.9079+-1.8077 ! definitely 1.0175x slower
imaging-gaussian-blur 557.5609+-8.9002 550.4981+-5.0659 might be 1.0128x faster
json-parse-financial 57.2818+-0.6776 56.6577+-0.2216 might be 1.0110x faster
json-stringify-tinderbox 67.7372+-0.2714 ! 68.5644+-0.3343 ! definitely 1.0122x slower
stanford-crypto-aes 97.0259+-1.6667 96.0273+-0.9699 might be 1.0104x faster
stanford-crypto-ccm 100.1471+-0.7916 ? 100.7749+-0.8839 ?
stanford-crypto-pbkdf2 191.4861+-3.2462 ? 193.5317+-1.2876 ? might be 1.0107x slower
stanford-crypto-sha256-iterative 80.2285+-1.1339 79.1964+-0.2547 might be 1.0130x faster
<arithmetic> * 213.8642+-0.8490 213.5918+-0.8801
<geometric> 169.7457+-0.4570 169.7065+-0.5197
<harmonic> 135.9450+-0.5409 135.7753+-0.3207
TipOfTree ValueProfLight
All benchmarks:
<arithmetic> 81.8005+-0.2443 81.7073+-0.2494
<geometric> 21.9964+-0.0670 ? 22.0057+-0.1087 ?
<harmonic> 6.9492+-0.0418 ? 6.9681+-0.0822 ?
TipOfTree ValueProfLight
Geomean of preferred means:
<scaled-result> 49.8212+-0.1243 49.7827+-0.1884
Benchmark report for SunSpider, V8, and Kraken on oldmac.local (MacPro4,1).
VMs tested:
"TipOfTree" at /Volumes/Data/pizlo/quinary/OpenSource/WebKitBuild/Release/jsc (r99516)
"ValueProfLight" at /Volumes/Data/pizlo/senary/OpenSource/WebKitBuild/Release/jsc (r99516)
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 ValueProfLight
SunSpider:
3d-cube 9.2870+-0.0345 ? 9.3119+-0.0347 ?
3d-morph 10.2349+-0.1418 ? 10.3739+-0.1736 ? might be 1.0136x slower
3d-raytrace 9.8469+-0.0760 ? 9.8849+-0.0844 ?
access-binary-trees 2.0140+-0.0064 ! 2.0460+-0.0131 ! definitely 1.0159x slower
access-fannkuch 9.4287+-0.0109 ! 9.4782+-0.0187 ! definitely 1.0052x slower
access-nbody 5.4197+-0.0051 ? 5.4279+-0.0068 ?
access-nsieve 3.7734+-0.0051 ! 3.7888+-0.0076 ! definitely 1.0041x slower
bitops-3bit-bits-in-byte 1.5440+-0.0192 ? 1.5485+-0.0125 ?
bitops-bits-in-byte 5.9799+-0.0443 ! 6.0824+-0.0360 ! definitely 1.0171x slower
bitops-bitwise-and 4.0020+-0.0058 ^ 3.9938+-0.0021 ^ definitely 1.0021x faster
bitops-nsieve-bits 6.8718+-0.0329 6.8514+-0.0415
controlflow-recursive 2.8411+-0.0201 ^ 2.7844+-0.0130 ^ definitely 1.0203x faster
crypto-aes 9.7526+-0.0685 ? 9.8290+-0.0532 ?
crypto-md5 3.3631+-0.0182 3.3572+-0.0072
crypto-sha1 3.0982+-0.0118 ? 3.0995+-0.0127 ?
date-format-tofte 13.2199+-0.0821 ? 13.2593+-0.2331 ?
date-format-xparb 12.3084+-0.2516 ? 12.4245+-0.0945 ?
math-cordic 8.7913+-0.0949 ? 8.8077+-0.0155 ?
math-partial-sums 12.7056+-0.0671 ? 12.7577+-0.0401 ?
math-spectral-norm 3.4455+-0.0107 ? 3.4490+-0.0163 ?
regexp-dna 16.5404+-0.1382 ? 16.5743+-0.2217 ?
string-base64 5.0765+-0.0253 ? 5.1031+-0.0357 ?
string-fasta 8.6102+-0.0090 ^ 8.5798+-0.0201 ^ definitely 1.0035x faster
string-tagcloud 16.2442+-0.1298 16.1692+-0.1206
string-unpack-code 28.4490+-0.1292 28.4115+-0.1552
string-validate-input 6.8985+-0.0603 ? 6.9568+-0.0582 ?
<arithmetic> * 8.4518+-0.0270 ? 8.4750+-0.0308 ?
<geometric> 6.7634+-0.0200 ? 6.7826+-0.0196 ?
<harmonic> 5.3069+-0.0176 ? 5.3202+-0.0143 ?
TipOfTree ValueProfLight
V8:
crypto 97.5008+-0.2748 97.4425+-0.2852
deltablue 221.8210+-2.3938 ^ 217.0354+-0.7037 ^ definitely 1.0220x faster
earley-boyer 131.2414+-1.4716 130.5087+-1.1246
raytrace 84.7087+-0.7870 ^ 82.8579+-0.2507 ^ definitely 1.0223x faster
regexp 150.7451+-0.9596 149.6161+-0.5901
richards 172.0932+-0.8348 171.5090+-0.6829
splay 107.6565+-0.9108 ? 109.4856+-2.1024 ? might be 1.0170x slower
<arithmetic> 137.9667+-0.3386 ^ 136.9222+-0.3101 ^ definitely 1.0076x faster
<geometric> * 131.2569+-0.3779 ^ 130.4303+-0.3221 ^ definitely 1.0063x faster
<harmonic> 125.1583+-0.4377 124.4265+-0.3321
TipOfTree ValueProfLight
Kraken:
ai-astar 896.2943+-0.3387 896.2844+-0.8711
audio-beat-detection 257.3205+-1.9541 255.1301+-0.8087
audio-dft 315.4480+-2.2374 315.2836+-2.3183
audio-fft 167.4601+-0.6950 ? 167.7626+-0.7827 ?
audio-oscillator 352.5792+-1.2625 352.5778+-1.3673
imaging-darkroom 407.8628+-8.4575 ? 409.8914+-7.0841 ?
imaging-desaturate 291.2592+-0.0634 291.2047+-0.0586
imaging-gaussian-blur 751.1046+-0.2562 750.9592+-0.1336
json-parse-financial 87.2852+-0.2184 ^ 86.5116+-0.1681 ^ definitely 1.0089x faster
json-stringify-tinderbox 96.5795+-0.5232 ? 96.7310+-0.7166 ?
stanford-crypto-aes 139.0079+-0.5436 ? 139.7928+-0.4772 ?
stanford-crypto-ccm 137.9739+-0.5770 137.8845+-0.6332
stanford-crypto-pbkdf2 286.8972+-4.3538 285.9257+-2.8639
stanford-crypto-sha256-iterative 118.2990+-0.1630 ! 119.0997+-0.2469 ! definitely 1.0068x slower
<arithmetic> * 307.5265+-0.9617 307.5028+-0.6792
<geometric> 239.9827+-0.6984 239.9576+-0.4946
<harmonic> 193.3875+-0.4159 193.3409+-0.3285
TipOfTree ValueProfLight
All benchmarks:
<arithmetic> 116.8273+-0.2810 116.6776+-0.2160
<geometric> 30.4575+-0.0615 ? 30.4755+-0.0521 ?
<harmonic> 9.3484+-0.0305 ? 9.3705+-0.0246 ?
TipOfTree ValueProfLight
Geomean of preferred means:
<scaled-result> 69.8739+-0.1317 69.7890+-0.1122
--
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