[webkit-reviews] review requested: [Bug 71195] DFG ValueAdd(string, int) should not fail speculation : [Attachment 113002] the patch
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Sun Oct 30 16:37:11 PDT 2011
Filip Pizlo <fpizlo at apple.com> has asked for review:
Bug 71195: DFG ValueAdd(string, int) should not fail speculation
https://bugs.webkit.org/show_bug.cgi?id=71195
Attachment 113002: the patch
https://bugs.webkit.org/attachment.cgi?id=113002&action=review
------- Additional Comments from Filip Pizlo <fpizlo at apple.com>
On my MacBook Pro:
Benchmark report for SunSpider, V8, and Kraken.
VMs tested:
"TipOfTree" at /Volumes/Data/pizlo/quinary/OpenSource/WebKitBuild/Release/jsc
"CarefulInt" at /Volumes/Data/pizlo/tertiary/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 CarefulInt
SunSpider:
3d-cube 7.3259+-0.2009
7.3073+-0.1861
3d-morph 7.9552+-0.2032 ^
7.5143+-0.1301 ^ definitely 1.0587x faster
3d-raytrace 7.5745+-0.2877
7.4723+-0.1598 might be 1.0137x faster
access-binary-trees 1.5919+-0.0532 ?
1.6165+-0.0991 ? might be 1.0155x slower
access-fannkuch 6.4633+-0.1043
6.4275+-0.0835
access-nbody 3.7428+-0.0875 ?
3.7665+-0.0755 ?
access-nsieve 2.5399+-0.0561 !
2.7178+-0.1177 ! definitely 1.0700x slower
bitops-3bit-bits-in-byte 1.3109+-0.0308 ?
1.3318+-0.0350 ? might be 1.0159x slower
bitops-bits-in-byte 2.4184+-0.0493
2.3974+-0.0912
bitops-bitwise-and 3.4004+-0.0707 ?
3.4229+-0.1392 ?
bitops-nsieve-bits 5.3733+-0.0885 ?
5.4491+-0.1767 ? might be 1.0141x slower
controlflow-recursive 2.1811+-0.0525
2.1350+-0.0572 might be 1.0216x faster
crypto-aes 7.5692+-0.3790 ?
7.5974+-0.3586 ?
crypto-md5 2.7485+-0.0883
2.6901+-0.0641 might be 1.0217x faster
crypto-sha1 2.5225+-0.0831
2.5074+-0.0786
date-format-tofte 10.3182+-0.3545 ?
10.5272+-0.3219 ? might be 1.0203x slower
date-format-xparb 9.5610+-0.3060
9.0423+-0.3222 might be 1.0574x faster
math-cordic 6.4785+-0.1218
6.3923+-0.0889 might be 1.0135x faster
math-partial-sums 7.6059+-0.2173
7.5550+-0.2191
math-spectral-norm 2.6434+-0.0745
2.5893+-0.0622 might be 1.0209x faster
regexp-dna 11.7834+-0.3481 ?
11.8475+-0.2318 ?
string-base64 4.5257+-0.2658
4.3191+-0.1457 might be 1.0478x faster
string-fasta 6.4393+-0.1803
6.3954+-0.1645
string-tagcloud 12.0152+-0.3070
11.7852+-0.3769 might be 1.0195x faster
string-unpack-code 20.5993+-0.5628 ?
21.0286+-0.5792 ? might be 1.0208x slower
string-validate-input 5.3187+-0.0938 ?
5.3893+-0.1995 ? might be 1.0133x slower
<arithmetic> * 6.2310+-0.0409
6.2009+-0.0329
<geometric> 5.0164+-0.0330
4.9932+-0.0270
<harmonic> 3.9982+-0.0342
3.9927+-0.0393
TipOfTree CarefulInt
V8:
crypto 73.1664+-0.3527 ?
73.1677+-0.2378 ?
deltablue 175.2406+-0.6489 ^
165.6919+-0.9282 ^ definitely 1.0576x faster
earley-boyer 90.4457+-0.5623 ?
90.5133+-0.4641 ?
raytrace 63.8960+-2.0470
63.4613+-0.4670
regexp 105.8455+-0.5584
105.0330+-0.4212
richards 124.7142+-0.5617 ?
125.4665+-0.7181 ?
splay 93.4173+-0.6427
92.2681+-0.5995 might be 1.0125x faster
<arithmetic> 103.8179+-0.2809 ^
102.2288+-0.2332 ^ definitely 1.0155x faster
<geometric> * 98.7026+-0.3864 ^
97.6485+-0.2145 ^ definitely 1.0108x faster
<harmonic> 94.2319+-0.5346
93.5308+-0.2211
TipOfTree CarefulInt
Kraken:
ai-astar 495.6258+-1.4470
495.0451+-1.4095
audio-beat-detection 193.1900+-2.1893
191.1431+-1.4454 might be 1.0107x faster
audio-dft 268.4201+-3.4503
268.2043+-3.1973
audio-fft 124.5449+-0.8480 ?
124.6707+-1.0365 ?
audio-oscillator 252.6236+-1.2134 ?
252.7995+-2.6054 ?
imaging-darkroom 407.1107+-3.2206
403.5027+-3.6943
imaging-desaturate 226.9378+-2.5364
224.5258+-1.4722 might be 1.0107x faster
imaging-gaussian-blur 553.4083+-2.3280
552.8223+-1.9311
json-parse-financial 57.1128+-0.1394 !
57.8648+-0.3231 ! definitely 1.0132x slower
json-stringify-tinderbox 68.9238+-0.3309 ?
68.9904+-0.6905 ?
stanford-crypto-aes 133.8447+-2.1733
133.1328+-1.1985
stanford-crypto-ccm 100.7223+-1.0065 ?
102.8278+-2.9258 ? might be 1.0209x slower
stanford-crypto-pbkdf2 196.1437+-1.4767 ^
193.2595+-0.7409 ^ definitely 1.0149x faster
stanford-crypto-sha256-iterative 71.4571+-0.6219
70.6566+-0.2515 might be 1.0113x faster
<arithmetic> * 225.0047+-0.5366
224.2461+-0.7780
<geometric> 177.4582+-0.2696
177.0967+-0.6993
<harmonic> 139.8567+-0.2994 ?
139.9118+-0.5708 ?
TipOfTree CarefulInt
All benchmarks:
<arithmetic> 85.9319+-0.1747 ^
85.4526+-0.2378 ^ definitely 1.0056x faster
<geometric> 22.6161+-0.0923
22.5083+-0.0653
<harmonic> 7.0387+-0.0589
7.0287+-0.0674
TipOfTree CarefulInt
Geomean of preferred means:
<scaled-result> 51.7234+-0.1504 ^
51.3977+-0.1042 ^ definitely 1.0063x faster
On my Mac Pro:
Benchmark report for SunSpider, V8, and Kraken.
VMs tested:
"TipOfTree" at
/Volumes/Data/fromMiniMe/quinary/OpenSource/WebKitBuild/Release/jsc
"CarefulInt" at
/Volumes/Data/fromMiniMe/tertiary/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 CarefulInt
SunSpider:
3d-cube 7.8440+-0.0223 ?
7.8919+-0.0482 ?
3d-morph 8.5234+-0.1301
8.3797+-0.0302 might be 1.0172x faster
3d-raytrace 8.1137+-0.0931 ?
8.1800+-0.1380 ?
access-binary-trees 1.7174+-0.0269
1.7090+-0.0218
access-fannkuch 7.7988+-0.0978
7.7535+-0.0110
access-nbody 4.5673+-0.0089 ?
4.5688+-0.0125 ?
access-nsieve 3.2088+-0.0402 ?
3.2164+-0.0232 ?
bitops-3bit-bits-in-byte 1.3095+-0.0154 ?
1.3096+-0.0161 ?
bitops-bits-in-byte 4.9947+-0.0474
4.9710+-0.0331
bitops-bitwise-and 3.4317+-0.0609 ?
3.4607+-0.0715 ?
bitops-nsieve-bits 5.6564+-0.0331
5.6477+-0.0377
controlflow-recursive 2.3517+-0.0236 ?
2.3540+-0.0265 ?
crypto-aes 7.5701+-0.0587
7.5595+-0.0231
crypto-md5 2.8627+-0.0183 ?
2.8729+-0.0242 ?
crypto-sha1 2.6270+-0.0206 ?
2.6472+-0.0230 ?
date-format-tofte 10.6375+-0.0808 ?
10.6982+-0.0645 ?
date-format-xparb 9.9140+-0.1294 ?
10.0989+-0.1979 ? might be 1.0186x slower
math-cordic 7.2762+-0.0594
7.2404+-0.0221
math-partial-sums 10.5791+-0.0490
10.5516+-0.0485
math-spectral-norm 2.8966+-0.0232
2.8933+-0.0177
regexp-dna 13.3787+-0.1628
13.3118+-0.1501
string-base64 4.5195+-0.0185 ?
4.5264+-0.0240 ?
string-fasta 7.1627+-0.0211 ?
7.1689+-0.0252 ?
string-tagcloud 13.0597+-0.0785 ?
13.2237+-0.1193 ? might be 1.0126x slower
string-unpack-code 23.1291+-0.1420
22.9427+-0.1497
string-validate-input 5.7961+-0.0278 ?
5.8358+-0.0317 ?
<arithmetic> * 6.9587+-0.0245 ?
6.9621+-0.0279 ?
<geometric> 5.6273+-0.0216 ?
5.6330+-0.0249 ?
<harmonic> 4.4600+-0.0228 ?
4.4643+-0.0260 ?
TipOfTree CarefulInt
V8:
crypto 81.3621+-0.3232
80.9548+-0.2083
deltablue 192.7184+-1.2097 ^
182.7422+-1.6153 ^ definitely 1.0546x faster
earley-boyer 111.7999+-0.5667 !
113.0647+-0.4650 ! definitely 1.0113x slower
raytrace 69.4843+-0.6571 ?
69.9902+-0.1636 ?
regexp 126.1348+-0.8987 ^
124.0840+-0.3885 ^ definitely 1.0165x faster
richards 142.0968+-0.4247 ^
141.3769+-0.1346 ^ definitely 1.0051x faster
splay 121.4775+-0.6170 ?
121.8387+-0.6534 ?
<arithmetic> 120.7248+-0.2570 ^
119.1502+-0.3412 ^ definitely 1.0132x faster
<geometric> * 114.9465+-0.1791 ^
113.9977+-0.2625 ^ definitely 1.0083x faster
<harmonic> 109.3425+-0.1394 ^
108.8668+-0.2012 ^ definitely 1.0044x faster
TipOfTree CarefulInt
Kraken:
ai-astar 816.1167+-13.0761 ?
824.9342+-11.1520 ? might be 1.0108x slower
audio-beat-detection 213.2418+-1.3848
212.9750+-0.9994
audio-dft 262.1463+-2.6353 ?
268.3749+-7.2382 ? might be 1.0238x slower
audio-fft 133.3075+-0.9497
133.1602+-0.7139
audio-oscillator 290.3676+-1.0905 ?
291.8766+-1.4937 ?
imaging-darkroom 442.5757+-2.2209 ?
448.0228+-7.1744 ? might be 1.0123x slower
imaging-desaturate 245.2036+-0.1339
245.1909+-0.0931
imaging-gaussian-blur 621.4213+-0.3113
621.1067+-0.1200
json-parse-financial 72.1867+-0.1426
71.6634+-0.8350
json-stringify-tinderbox 79.2767+-0.3358 ^
78.7205+-0.1798 ^ definitely 1.0071x faster
stanford-crypto-aes 151.3100+-1.3998 ?
152.5743+-2.0676 ?
stanford-crypto-ccm 115.7618+-0.5269
115.5246+-0.5450
stanford-crypto-pbkdf2 238.1239+-2.3985 ?
239.5616+-4.6322 ?
stanford-crypto-sha256-iterative 85.1225+-0.1959 ?
85.5411+-0.2729 ?
<arithmetic> * 269.0116+-0.9170 ?
270.6590+-1.7696 ?
<geometric> 205.6371+-0.3837 ?
206.3804+-0.9686 ?
<harmonic> 162.2444+-0.2454 ?
162.3375+-0.5396 ?
TipOfTree CarefulInt
All benchmarks:
<arithmetic> 101.9609+-0.2875 ?
102.2190+-0.5113 ?
<geometric> 25.7602+-0.0695 ?
25.7705+-0.0835 ?
<harmonic> 7.8596+-0.0393 ?
7.8668+-0.0449 ?
TipOfTree CarefulInt
Geomean of preferred means:
<scaled-result> 59.9234+-0.1327
59.8887+-0.1594
More information about the webkit-reviews
mailing list