[Webkit-unassigned] [Bug 69114] DFG does not speculate aggressively enough on put_by_id
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Fri Sep 30 15:14:01 PDT 2011
https://bugs.webkit.org/show_bug.cgi?id=69114
--- Comment #8 from Filip Pizlo <fpizlo at apple.com> 2011-09-30 15:14:01 PST ---
Latest numbers, after merging and such. It appears that there are slow-downs in some benchmarks, though the slow-downs are smaller than the speed-ups. The slow-downs are all because PutById has no polymorphic case, and in some (rare!) cases the structure that it's patched on is no longer live. We should fix that by blowing away all property access patches (and maybe all patches, period) whenever we trigger recompilation. For now, I recommend landing this, because it's a bigger win (1.6% on V8) than it is a loss (0.6% on Kraken).
Benchmark report for SunSpider, V8, and Kraken.
VMs tested:
"TipOfTree" at /Volumes/Data/pizlo/quinary/OpenSource/WebKitBuild/Release/jsc
"PutByOffset" at /Volumes/Data/pizlo/septenary/OpenSource/WebKitBuild/Release/jsc
Collected 12 samples per benchmark/VM, with 4 VM invocations per benchmark. 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 PutByOffset
SunSpider:
3d-cube 7.6548+-0.3226 7.3917+-0.1907 might be 1.0356x faster
3d-morph 7.4151+-0.1395 ? 7.4507+-0.1249 ?
3d-raytrace 8.4812+-0.2948 8.3150+-0.2184 might be 1.0200x faster
access-binary-trees 2.1094+-0.0995 ^ 1.8069+-0.0613 ^ definitely 1.1674x faster
access-fannkuch 6.5808+-0.1922 ? 6.7499+-0.3102 ? might be 1.0257x slower
access-nbody 3.6466+-0.0806 3.5337+-0.0536 might be 1.0320x faster
access-nsieve 2.6069+-0.0616 ? 2.6798+-0.0636 ? might be 1.0280x slower
bitops-3bit-bits-in-byte 1.7354+-0.0394 1.7119+-0.0337 might be 1.0137x faster
bitops-bits-in-byte 2.7756+-0.0751 2.7511+-0.0885
bitops-bitwise-and 3.4489+-0.0767 ^ 3.2602+-0.0614 ^ definitely 1.0579x faster
bitops-nsieve-bits 5.5177+-0.1257 ? 5.5852+-0.2135 ? might be 1.0122x slower
controlflow-recursive 2.1451+-0.0706 2.1262+-0.1009
crypto-aes 6.8211+-0.1833 6.7461+-0.2125 might be 1.0111x faster
crypto-md5 2.8203+-0.0738 2.7874+-0.0739 might be 1.0118x faster
crypto-sha1 2.5016+-0.0660 ? 2.5311+-0.0773 ? might be 1.0118x slower
date-format-tofte 10.0443+-0.2708 ? 10.2338+-0.2693 ? might be 1.0189x slower
date-format-xparb 10.0244+-0.4041 9.7601+-0.2739 might be 1.0271x faster
math-cordic 6.3638+-0.2144 6.3315+-0.0620
math-partial-sums 7.7000+-0.0621 ? 7.7615+-0.1886 ?
math-spectral-norm 3.0138+-0.3396 2.8333+-0.0575 might be 1.0637x faster
regexp-dna 10.8769+-0.1672 ? 10.9393+-0.2064 ?
string-base64 6.2164+-0.1799 6.0559+-0.2046 might be 1.0265x faster
string-fasta 7.0881+-0.1568 6.8526+-0.1197 might be 1.0344x faster
string-tagcloud 12.1531+-0.2665 11.9861+-0.3321 might be 1.0139x faster
string-unpack-code 21.3522+-0.4916 ? 21.4023+-0.4834 ?
string-validate-input 6.3879+-0.2148 ? 6.4203+-0.2185 ?
<arithmetic> 6.4416+-0.0494 6.3848+-0.0395
<geometric> 5.3031+-0.0494 5.2245+-0.0305 might be 1.0150x faster
<harmonic> 4.3660+-0.0548 ^ 4.2681+-0.0382 ^ definitely 1.0229x faster
TipOfTree PutByOffset
V8:
crypto 72.1369+-0.7540 ? 73.1136+-0.4965 ? might be 1.0135x slower
deltablue 230.9621+-0.8870 ^ 226.2957+-1.9236 ^ definitely 1.0206x faster
earley-boyer 91.2661+-0.8792 ^ 87.8639+-0.2933 ^ definitely 1.0387x faster
raytrace 63.6002+-0.4248 ^ 62.0997+-1.0089 ^ definitely 1.0242x faster
regexp 104.6459+-0.6469 ? 106.7863+-1.6047 ? might be 1.0205x slower
richards 203.1269+-2.4756 ^ 188.0540+-1.1212 ^ definitely 1.0802x faster
splay 91.4723+-0.7206 ? 92.3211+-0.9555 ?
<arithmetic> 122.4586+-0.3488 ^ 119.5049+-0.5252 ^ definitely 1.0247x faster
<geometric> 109.4324+-0.3007 ^ 107.6235+-0.4169 ^ definitely 1.0168x faster
<harmonic> 99.5829+-0.3574 ^ 98.4368+-0.4103 ^ definitely 1.0116x faster
TipOfTree PutByOffset
Kraken:
ai-astar 492.2343+-4.4177 ? 500.2010+-5.8382 ? might be 1.0162x slower
audio-beat-detection 190.9514+-0.5210 ? 193.0569+-1.7599 ? might be 1.0110x slower
audio-dft 287.1908+-2.8916 284.1722+-4.7994 might be 1.0106x faster
audio-fft 128.8452+-1.2426 ? 128.9132+-1.2200 ?
audio-oscillator 260.5544+-1.9829 259.4385+-2.5186
imaging-darkroom 420.9855+-1.0263 ? 421.8993+-1.7584 ?
imaging-desaturate 225.8952+-2.0593 ? 228.8723+-2.6980 ? might be 1.0132x slower
imaging-gaussian-blur 586.2501+-4.6554 ? 589.6864+-4.7268 ?
json-parse-financial 48.4939+-0.2546 ? 48.7435+-1.2599 ?
json-stringify-tinderbox 68.6375+-0.3577 ! 70.0573+-0.9318 ! definitely 1.0207x slower
stanford-crypto-aes 133.3343+-1.9512 132.8290+-2.0660
stanford-crypto-ccm 102.4281+-0.6916 102.1125+-1.6788
stanford-crypto-pbkdf2 196.7817+-1.7446 ? 201.3275+-4.3554 ? might be 1.0231x slower
stanford-crypto-sha256-iterative 85.1036+-0.6282 ? 85.6230+-0.8534 ?
<arithmetic> 230.5490+-0.5868 ! 231.9238+-0.7332 ! definitely 1.0060x slower
<geometric> 180.3196+-0.3844 ! 181.3460+-0.6401 ! definitely 1.0057x slower
<harmonic> 139.7823+-0.3152 ? 140.6246+-0.7808 ?
TipOfTree PutByOffset
All benchmarks:
<arithmetic> 90.4761+-0.2161 90.4143+-0.2503
<geometric> 23.7963+-0.1389 23.5822+-0.0897
<harmonic> 7.6727+-0.0940 ^ 7.5051+-0.0658 ^ definitely 1.0223x 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