Summary: | DFG should infer when local variables are doubles | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Filip Pizlo <fpizlo> | ||||||
Component: | JavaScriptCore | Assignee: | Nobody <webkit-unassigned> | ||||||
Status: | RESOLVED FIXED | ||||||||
Severity: | Normal | CC: | webkit.review.bot | ||||||
Priority: | P2 | Keywords: | InRadar | ||||||
Version: | 528+ (Nightly build) | ||||||||
Hardware: | Unspecified | ||||||||
OS: | Unspecified | ||||||||
Attachments: |
|
Description
Filip Pizlo
2011-12-13 20:32:33 PST
This seems to speed up SunSpider by almost 1% and Kraken by over 4%. [pizlo@nitroflex bencher] ./bencher TipOfTree:/Volumes/Data/pizlo/quinary/OpenSource/WebKitBuild/Release/jsc InferDouble:/Volumes/Data/pizlo/quartary/OpenSource/WebKitBuild/Release/jsc --remote oldmac,bigmac Packaging VM builds for remote hosts... Sending VM builds to oldmac... Running on oldmac... 376/376 Generating benchmark report at TipOfTree_InferDouble_SunSpiderV8Kraken_20111213_2031_benchReport.txt Benchmark report for SunSpider, V8, and Kraken on oldmac.local (MacPro4,1). VMs tested: "TipOfTree" at /Volumes/Data/pizlo/quinary/OpenSource/WebKitBuild/Release/jsc (r102726) "InferDouble" at /Volumes/Data/pizlo/quartary/OpenSource/WebKitBuild/Release/jsc (r102726) 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 InferDouble SunSpider: 3d-cube 8.8640+-0.0429 ^ 7.4783+-0.0387 ^ definitely 1.1853x faster 3d-morph 10.1664+-0.1668 10.0235+-0.0396 might be 1.0143x faster 3d-raytrace 10.0254+-0.8807 9.1721+-0.0705 might be 1.0930x faster access-binary-trees 1.9152+-0.0090 ? 1.9269+-0.0090 ? access-fannkuch 8.9156+-0.0068 ! 9.1071+-0.0079 ! definitely 1.0215x slower access-nbody 4.7595+-0.0254 ? 4.7900+-0.0194 ? access-nsieve 3.7866+-0.0047 ! 3.8020+-0.0041 ! definitely 1.0041x slower bitops-3bit-bits-in-byte 1.5002+-0.0191 ? 1.5625+-0.0496 ? might be 1.0415x slower bitops-bits-in-byte 6.1139+-0.0243 ? 6.1573+-0.0369 ? bitops-bitwise-and 3.9910+-0.0376 3.9838+-0.0095 bitops-nsieve-bits 6.8580+-0.0513 6.7878+-0.0329 might be 1.0103x faster controlflow-recursive 2.8194+-0.0162 ? 2.8544+-0.0249 ? might be 1.0124x slower crypto-aes 9.1490+-0.3096 9.0991+-0.0468 crypto-md5 2.9499+-0.0146 ! 3.0445+-0.0578 ! definitely 1.0321x slower crypto-sha1 2.6060+-0.0203 ! 2.6795+-0.0190 ! definitely 1.0282x slower date-format-tofte 13.2222+-0.3235 12.8159+-0.1231 might be 1.0317x faster date-format-xparb 12.1189+-0.1112 ^ 11.8531+-0.1179 ^ definitely 1.0224x faster math-cordic 8.6257+-0.0290 ? 8.6343+-0.0248 ? math-partial-sums 12.7365+-0.1972 ? 12.7552+-0.2154 ? math-spectral-norm 3.1432+-0.0107 ! 3.1836+-0.0043 ! definitely 1.0128x slower regexp-dna 10.7363+-0.0470 ? 10.7956+-0.1236 ? string-base64 5.2740+-0.1528 5.1653+-0.0371 might be 1.0210x faster string-fasta 8.7299+-0.0440 8.7156+-0.0123 string-tagcloud 14.7977+-0.0608 ? 14.8364+-0.0648 ? string-unpack-code 25.2653+-0.0788 ! 26.1269+-0.6823 ! definitely 1.0341x slower string-validate-input 6.9628+-0.2511 6.8991+-0.1079 <arithmetic> * 7.9243+-0.0316 ^ 7.8557+-0.0346 ^ definitely 1.0087x faster <geometric> 6.4154+-0.0237 6.3781+-0.0215 might be 1.0059x faster <harmonic> 5.0441+-0.0202 ? 5.0683+-0.0227 ? might be 1.0048x slower TipOfTree InferDouble V8: crypto 92.3189+-0.1768 ! 92.9931+-0.2907 ! definitely 1.0073x slower deltablue 202.2128+-0.7672 ? 204.2764+-2.6381 ? might be 1.0102x slower earley-boyer 120.2561+-1.5281 119.9834+-1.0816 raytrace 62.6864+-0.2945 ? 62.9496+-0.3395 ? regexp 146.4076+-0.3915 ? 147.5305+-1.0621 ? richards 169.3085+-0.9655 168.7773+-0.1446 splay 109.0943+-2.6160 107.2942+-1.4021 might be 1.0168x faster <arithmetic> 128.8978+-0.3947 ? 129.1149+-0.5027 ? might be 1.0017x slower <geometric> * 121.0234+-0.4854 ? 121.1533+-0.4136 ? might be 1.0011x slower <harmonic> 112.9735+-0.5265 ? 113.0861+-0.3863 ? might be 1.0010x slower TipOfTree InferDouble Kraken: ai-astar 896.2120+-0.9081 ? 897.4056+-1.4467 ? audio-beat-detection 249.7459+-0.7168 ^ 236.9684+-4.7124 ^ definitely 1.0539x faster audio-dft 333.0498+-2.6652 332.0324+-2.7483 audio-fft 162.2732+-0.5465 ^ 145.1072+-1.7622 ^ definitely 1.1183x faster audio-oscillator 349.9188+-7.0760 ? 351.8688+-6.0331 ? imaging-darkroom 390.6610+-7.3585 ^ 365.0496+-9.1288 ^ definitely 1.0702x faster imaging-desaturate 287.2454+-0.2057 287.0173+-0.1003 imaging-gaussian-blur 758.5774+-0.5489 ^ 629.6762+-0.3251 ^ definitely 1.2047x faster json-parse-financial 86.2733+-0.6693 ^ 84.3297+-0.1604 ^ definitely 1.0230x faster json-stringify-tinderbox 100.0438+-0.4731 99.4582+-0.2832 stanford-crypto-aes 140.6614+-0.5033 ? 141.6958+-0.6747 ? stanford-crypto-ccm 136.0580+-0.8596 ? 138.4874+-2.8805 ? might be 1.0179x slower stanford-crypto-pbkdf2 283.1231+-3.2818 281.5303+-2.3855 stanford-crypto-sha256-iterative 116.7429+-0.1577 ? 116.9579+-0.2699 ? <arithmetic> * 306.4704+-0.7919 ^ 293.3989+-0.7825 ^ definitely 1.0446x faster <geometric> 238.8340+-0.5606 ^ 231.7124+-0.6685 ^ definitely 1.0307x faster <harmonic> 192.6930+-0.3632 ^ 188.6710+-0.5133 ^ definitely 1.0213x faster TipOfTree InferDouble All benchmarks: <arithmetic> 114.8703+-0.2586 ^ 110.9710+-0.2019 ^ definitely 1.0351x faster <geometric> 29.1832+-0.0820 ^ 28.8325+-0.0695 ^ definitely 1.0122x faster <harmonic> 8.8861+-0.0351 ? 8.9251+-0.0391 ? might be 1.0044x slower TipOfTree InferDouble Geomean of preferred means: <scaled-result> 66.4871+-0.1791 ^ 65.3617+-0.1533 ^ definitely 1.0172x faster Sending VM builds to bigmac... Running on bigmac... 376/376 Generating benchmark report at TipOfTree_InferDouble_SunSpiderV8Kraken_20111213_2034_benchReport.txt Benchmark report for SunSpider, V8, and Kraken on bigmac.local (MacPro5,1). VMs tested: "TipOfTree" at /Volumes/Data/pizlo/quinary/OpenSource/WebKitBuild/Release/jsc (r102726) "InferDouble" at /Volumes/Data/pizlo/quartary/OpenSource/WebKitBuild/Release/jsc (r102726) 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 InferDouble SunSpider: 3d-cube 7.3599+-0.0172 ^ 6.1935+-0.0176 ^ definitely 1.1883x faster 3d-morph 8.2787+-0.0331 ? 8.3131+-0.0408 ? 3d-raytrace 7.7594+-0.0530 ^ 7.5626+-0.0297 ^ definitely 1.0260x faster access-binary-trees 1.5990+-0.0052 ! 1.6218+-0.0143 ! definitely 1.0143x slower access-fannkuch 7.3794+-0.0073 ! 7.4922+-0.0038 ! definitely 1.0153x slower access-nbody 3.9501+-0.0174 ? 3.9710+-0.0097 ? access-nsieve 3.1931+-0.0443 ? 3.1985+-0.0472 ? bitops-3bit-bits-in-byte 1.2343+-0.0055 ! 1.2645+-0.0171 ! definitely 1.0245x slower bitops-bits-in-byte 5.0627+-0.0232 ! 5.1193+-0.0273 ! definitely 1.0112x slower bitops-bitwise-and 3.2883+-0.0042 ? 3.2890+-0.0039 ? bitops-nsieve-bits 5.6403+-0.0372 ? 5.6504+-0.0354 ? controlflow-recursive 2.3189+-0.0138 ? 2.3545+-0.0273 ? might be 1.0154x slower crypto-aes 7.4006+-0.0336 ! 7.5795+-0.0310 ! definitely 1.0242x slower crypto-md5 2.4745+-0.0309 ? 2.4950+-0.0210 ? crypto-sha1 2.1917+-0.0449 ? 2.2407+-0.0278 ? might be 1.0224x slower date-format-tofte 11.0961+-0.1433 ^ 10.5340+-0.0384 ^ definitely 1.0534x faster date-format-xparb 9.8547+-0.1059 ^ 9.5439+-0.0965 ^ definitely 1.0326x faster math-cordic 7.1632+-0.0410 ? 7.1637+-0.0393 ? math-partial-sums 10.3850+-0.0217 ? 10.3925+-0.0196 ? math-spectral-norm 2.6165+-0.0184 ! 2.6503+-0.0131 ! definitely 1.0129x slower regexp-dna 8.8524+-0.0147 ? 8.8590+-0.0807 ? string-base64 4.2392+-0.0153 ? 4.2676+-0.0196 ? string-fasta 7.2051+-0.0222 ? 7.2101+-0.0155 ? string-tagcloud 12.3163+-0.0420 12.2793+-0.0387 string-unpack-code 20.3161+-0.0639 ! 20.5405+-0.0945 ! definitely 1.0110x slower string-validate-input 5.6125+-0.0396 ! 5.7773+-0.1028 ! definitely 1.0294x slower <arithmetic> * 6.4918+-0.0170 ^ 6.4448+-0.0153 ^ definitely 1.0073x faster <geometric> 5.2794+-0.0164 5.2639+-0.0163 might be 1.0029x faster <harmonic> 4.1698+-0.0171 ? 4.1920+-0.0188 ? might be 1.0053x slower TipOfTree InferDouble V8: crypto 76.4124+-0.1538 ! 77.0335+-0.1729 ! definitely 1.0081x slower deltablue 168.1110+-0.6092 ? 168.7514+-0.3281 ? earley-boyer 99.2037+-1.1928 98.8622+-1.2312 raytrace 52.0740+-0.2648 ? 52.4510+-0.3786 ? regexp 122.5762+-0.4387 ? 122.5942+-0.2169 ? richards 140.6193+-0.7333 139.5501+-0.3941 splay 90.2985+-1.3064 ? 91.0237+-0.7212 ? <arithmetic> 107.0421+-0.3858 ? 107.1809+-0.2302 ? might be 1.0013x slower <geometric> * 100.4577+-0.3973 ? 100.6914+-0.2481 ? might be 1.0023x slower <harmonic> 93.7450+-0.3869 ? 94.0821+-0.2642 ? might be 1.0036x slower TipOfTree InferDouble Kraken: ai-astar 807.6937+-13.0171 ? 817.9578+-10.9610 ? might be 1.0127x slower audio-beat-detection 204.3632+-0.5384 ^ 191.4491+-0.5621 ^ definitely 1.0675x faster audio-dft 276.4388+-2.6729 274.2325+-2.9873 audio-fft 132.8794+-0.7502 ^ 118.3667+-0.2785 ^ definitely 1.1226x faster audio-oscillator 284.9315+-4.3764 281.0456+-3.3328 might be 1.0138x faster imaging-darkroom 324.4538+-6.9686 ^ 304.7928+-8.4104 ^ definitely 1.0645x faster imaging-desaturate 237.5346+-0.0964 ? 239.1287+-1.8817 ? imaging-gaussian-blur 626.5905+-1.1450 ^ 520.3426+-0.6142 ^ definitely 1.2042x faster json-parse-financial 70.3191+-0.1552 ^ 69.5164+-0.0608 ^ definitely 1.0115x faster json-stringify-tinderbox 82.0737+-0.2916 81.6829+-0.1863 stanford-crypto-aes 117.5053+-0.5505 ? 118.4122+-0.7377 ? stanford-crypto-ccm 114.0254+-0.5261 113.5638+-0.6127 stanford-crypto-pbkdf2 230.9448+-0.2295 230.8450+-1.0556 stanford-crypto-sha256-iterative 96.0198+-0.2617 ? 96.3091+-0.2522 ? <arithmetic> * 257.5553+-1.4028 ^ 246.9747+-0.9613 ^ definitely 1.0428x faster <geometric> 198.0558+-0.6962 ^ 191.8997+-0.5139 ^ definitely 1.0321x faster <harmonic> 158.8931+-0.3653 ^ 155.4050+-0.3034 ^ definitely 1.0224x faster TipOfTree InferDouble All benchmarks: <arithmetic> 96.2523+-0.4319 ^ 93.0952+-0.3051 ^ definitely 1.0339x faster <geometric> 24.1014+-0.0648 ^ 23.8453+-0.0635 ^ definitely 1.0107x faster <harmonic> 7.3459+-0.0296 ? 7.3821+-0.0326 ? might be 1.0049x slower TipOfTree InferDouble Geomean of preferred means: <scaled-result> 55.1742+-0.1569 ^ 54.3187+-0.1325 ^ definitely 1.0157x faster [pizlo@nitroflex bencher] Created attachment 119149 [details]
work in progress
Still need to write the JSVALUE32_64 code.
Attachment 119149 [details] did not pass style-queue:
Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'Source/JavaScriptCore/ChangeLog', u'Source..." exit_code: 1
Source/JavaScriptCore/dfg/DFGPropagator.cpp:676: Place brace on its own line for function definitions. [whitespace/braces] [4]
Total errors found: 1 in 17 files
If any of these errors are false positives, please file a bug against check-webkit-style.
Created attachment 119157 [details]
the patch
Wrote the JSVALUE32_64 code. Luckily, the OSR exit/entry for JSVALUE32_64 needed no special work since an IEEE double is also a valid JSVALUE32_64 double.
Performance on JSVALUE32_64: [pizlo@nitroflex bencher] ./bencher TipOfTree32:/Volumes/Data/pizlo/quinary/OpenSource/WebKitBuild/Release/jsc InferDouble32:/Volumes/Data/pizlo/quartary/OpenSource/WebKitBuild/Release/jsc --remote oldmac,bigmac Packaging VM builds for remote hosts... Sending VM builds to oldmac... Running on oldmac... 376/376 Generating benchmark report at TipOfTree32_InferDouble32_SunSpiderV8Kraken_20111213_2243_benchReport.txt Benchmark report for SunSpider, V8, and Kraken on oldmac.local (MacPro4,1). VMs tested: "TipOfTree32" at /Volumes/Data/pizlo/quinary/OpenSource/WebKitBuild/Release/jsc (r102726) "InferDouble32" at /Volumes/Data/pizlo/quartary/OpenSource/WebKitBuild/Release/jsc (r102726) 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. TipOfTree32 InferDouble32 SunSpider: 3d-cube 9.8759+-0.0260 ^ 8.7524+-0.0249 ^ definitely 1.1284x faster 3d-morph 13.2675+-0.0453 ? 13.2834+-0.0400 ? 3d-raytrace 11.6581+-0.0232 11.6313+-0.0210 access-binary-trees 2.3372+-0.0110 ! 2.3600+-0.0107 ! definitely 1.0098x slower access-fannkuch 11.1245+-0.0296 ! 11.2900+-0.0285 ! definitely 1.0149x slower access-nbody 6.8743+-0.0065 ? 6.8972+-0.0175 ? access-nsieve 3.7255+-0.0076 ? 3.7543+-0.0349 ? bitops-3bit-bits-in-byte 1.5625+-0.0270 1.5620+-0.0248 bitops-bits-in-byte 6.0265+-0.0194 ? 6.0318+-0.0154 ? bitops-bitwise-and 4.6959+-0.0090 4.6926+-0.0115 bitops-nsieve-bits 8.1722+-0.0079 ? 8.1799+-0.0126 ? controlflow-recursive 3.6756+-0.0369 ? 3.6908+-0.0478 ? crypto-aes 11.9426+-0.0967 ! 12.1948+-0.0501 ! definitely 1.0211x slower crypto-md5 3.9414+-0.0372 ? 3.9869+-0.0475 ? might be 1.0115x slower crypto-sha1 3.2980+-0.0624 ? 3.3295+-0.0366 ? date-format-tofte 13.9670+-0.1470 13.8177+-0.0931 might be 1.0108x faster date-format-xparb 14.4586+-0.0742 ! 15.2751+-0.1029 ! definitely 1.0565x slower math-cordic 12.0426+-0.0313 12.0219+-0.0324 math-partial-sums 15.0773+-0.0425 ? 15.0815+-0.0381 ? math-spectral-norm 3.2355+-0.0164 ! 3.3117+-0.0302 ! definitely 1.0236x slower regexp-dna 11.0747+-0.1091 ? 11.1738+-0.0794 ? string-base64 5.9331+-0.0116 ! 5.9622+-0.0113 ! definitely 1.0049x slower string-fasta 10.5769+-0.0180 ? 10.5942+-0.0236 ? string-tagcloud 16.5458+-0.0281 16.5032+-0.0554 string-unpack-code 26.9658+-0.1368 ? 27.0020+-0.1227 ? string-validate-input 7.5801+-0.0093 ! 7.6401+-0.0153 ! definitely 1.0079x slower <arithmetic> * 9.2167+-0.0165 ? 9.2316+-0.0197 ? might be 1.0016x slower <geometric> 7.5099+-0.0202 ? 7.5240+-0.0198 ? might be 1.0019x slower <harmonic> 5.8681+-0.0295 ? 5.8895+-0.0252 ? might be 1.0036x slower TipOfTree32 InferDouble32 V8: crypto 121.1994+-0.2802 ! 121.9700+-0.4194 ! definitely 1.0064x slower deltablue 225.4175+-0.4504 ? 226.6870+-1.9381 ? earley-boyer 142.2687+-1.3848 ? 142.8703+-1.2828 ? raytrace 68.1709+-0.7045 67.8957+-0.2722 regexp 155.7222+-0.3299 155.7170+-0.4948 richards 241.0998+-1.0237 239.9587+-0.6381 splay 116.5125+-1.7885 ? 117.7935+-0.7934 ? might be 1.0110x slower <arithmetic> 152.9130+-0.4079 ? 153.2703+-0.4364 ? might be 1.0023x slower <geometric> * 141.9020+-0.4275 ? 142.2777+-0.3381 ? might be 1.0026x slower <harmonic> 130.7297+-0.4425 ? 131.0370+-0.2673 ? might be 1.0024x slower TipOfTree32 InferDouble32 Kraken: ai-astar 987.9276+-1.9873 ? 989.5875+-1.9862 ? audio-beat-detection 503.8657+-0.3595 ^ 440.5516+-2.3661 ^ definitely 1.1437x faster audio-dft 445.7723+-3.3746 444.7101+-2.4471 audio-fft 334.2702+-0.8098 ^ 267.6838+-2.3788 ^ definitely 1.2488x faster audio-oscillator 547.8174+-3.0797 ^ 538.0074+-3.2711 ^ definitely 1.0182x faster imaging-darkroom 501.9588+-4.9934 ^ 470.3138+-4.7611 ^ definitely 1.0673x faster imaging-desaturate 360.0111+-0.1014 ? 360.0147+-0.2404 ? imaging-gaussian-blur 970.4162+-1.3375 ^ 842.5708+-1.1573 ^ definitely 1.1517x faster json-parse-financial 88.0039+-0.5441 ? 88.6821+-0.2110 ? json-stringify-tinderbox 126.7914+-0.3683 126.4213+-0.2953 stanford-crypto-aes 169.5269+-0.5386 168.6534+-0.7137 stanford-crypto-ccm 156.5946+-0.8589 ^ 155.1493+-0.5687 ^ definitely 1.0093x faster stanford-crypto-pbkdf2 315.6071+-0.5699 314.4535+-1.0214 stanford-crypto-sha256-iterative 133.4636+-1.6870 132.1102+-0.1116 might be 1.0102x faster <arithmetic> * 403.0019+-0.5047 ^ 381.3507+-0.4167 ^ definitely 1.0568x faster <geometric> 313.5732+-0.5312 ^ 300.3107+-0.3505 ^ definitely 1.0442x faster <harmonic> 241.1390+-0.6709 ^ 235.1872+-0.2786 ^ definitely 1.0253x faster TipOfTree32 InferDouble32 All benchmarks: <arithmetic> 147.9160+-0.1981 ^ 141.5281+-0.1751 ^ definitely 1.0451x faster <geometric> 35.3583+-0.0723 ^ 34.9561+-0.0690 ^ definitely 1.0115x faster <harmonic> 10.3471+-0.0510 ? 10.3808+-0.0435 ? might be 1.0033x slower TipOfTree32 InferDouble32 Geomean of preferred means: <scaled-result> 80.7774+-0.1386 ^ 79.4167+-0.1330 ^ definitely 1.0171x faster Sending VM builds to bigmac... Running on bigmac... 376/376 Generating benchmark report at TipOfTree32_InferDouble32_SunSpiderV8Kraken_20111213_2248_benchReport.txt Benchmark report for SunSpider, V8, and Kraken on bigmac.local (MacPro5,1). VMs tested: "TipOfTree32" at /Volumes/Data/pizlo/quinary/OpenSource/WebKitBuild/Release/jsc (r102726) "InferDouble32" at /Volumes/Data/pizlo/quartary/OpenSource/WebKitBuild/Release/jsc (r102726) 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. TipOfTree32 InferDouble32 SunSpider: 3d-cube 8.2414+-0.0801 ^ 7.2376+-0.0233 ^ definitely 1.1387x faster 3d-morph 10.9362+-0.0424 ? 11.0593+-0.0810 ? might be 1.0113x slower 3d-raytrace 9.6896+-0.0356 ? 9.7039+-0.0162 ? access-binary-trees 1.9407+-0.0195 ? 1.9451+-0.0104 ? access-fannkuch 9.2441+-0.0445 ! 9.3548+-0.0376 ! definitely 1.0120x slower access-nbody 5.6954+-0.0084 ! 5.7078+-0.0038 ! definitely 1.0022x slower access-nsieve 3.1094+-0.0128 ! 3.1316+-0.0081 ! definitely 1.0071x slower bitops-3bit-bits-in-byte 1.2828+-0.0196 ? 1.2960+-0.0200 ? might be 1.0102x slower bitops-bits-in-byte 4.9782+-0.0149 ? 4.9922+-0.0135 ? bitops-bitwise-and 3.8794+-0.0047 3.8460+-0.0465 bitops-nsieve-bits 6.7766+-0.0145 6.7644+-0.0078 controlflow-recursive 2.9983+-0.0049 ! 3.0352+-0.0310 ! definitely 1.0123x slower crypto-aes 9.7946+-0.0258 ! 10.1624+-0.0387 ! definitely 1.0376x slower crypto-md5 3.2590+-0.0139 ? 3.2878+-0.0228 ? crypto-sha1 2.6971+-0.0330 ! 2.7582+-0.0163 ! definitely 1.0226x slower date-format-tofte 11.5669+-0.0824 ? 11.5862+-0.2859 ? date-format-xparb 12.0758+-0.2460 ? 12.4899+-0.2827 ? might be 1.0343x slower math-cordic 9.9287+-0.0269 ? 9.9486+-0.0311 ? math-partial-sums 12.4587+-0.0131 12.4514+-0.0177 math-spectral-norm 2.6819+-0.0034 ! 2.7610+-0.0281 ! definitely 1.0295x slower regexp-dna 9.1832+-0.0195 9.1677+-0.0094 string-base64 4.8763+-0.0237 ! 4.9144+-0.0081 ! definitely 1.0078x slower string-fasta 8.7722+-0.0213 ? 8.7903+-0.0429 ? string-tagcloud 13.7713+-0.0307 13.7011+-0.0400 string-unpack-code 22.1844+-0.0827 ? 22.2783+-0.0601 ? string-validate-input 6.2970+-0.0165 6.2906+-0.0152 <arithmetic> * 7.6277+-0.0127 ? 7.6408+-0.0139 ? might be 1.0017x slower <geometric> 6.2119+-0.0130 ? 6.2263+-0.0111 ? might be 1.0023x slower <harmonic> 4.8473+-0.0203 ? 4.8735+-0.0170 ? might be 1.0054x slower TipOfTree32 InferDouble32 V8: crypto 100.5472+-0.3565 ? 101.0559+-0.3720 ? deltablue 187.7118+-0.8009 ? 188.1846+-1.3139 ? earley-boyer 116.7155+-0.4644 ? 117.6857+-0.8208 ? raytrace 56.3113+-0.5766 ? 57.0172+-0.6416 ? might be 1.0125x slower regexp 130.1576+-0.3513 130.1473+-0.2585 richards 198.9660+-0.6000 ? 200.1853+-1.9956 ? splay 97.2906+-1.0036 ? 99.3742+-1.4491 ? might be 1.0214x slower <arithmetic> 126.8143+-0.2814 ! 127.6643+-0.4408 ! definitely 1.0067x slower <geometric> * 117.6751+-0.2986 ! 118.6074+-0.3939 ! definitely 1.0079x slower <harmonic> 108.3714+-0.3583 ! 109.3784+-0.4169 ! definitely 1.0093x slower TipOfTree32 InferDouble32 Kraken: ai-astar 881.5506+-12.6789 ? 892.2307+-10.8047 ? might be 1.0121x slower audio-beat-detection 417.6802+-3.9360 ^ 365.0161+-3.6568 ^ definitely 1.1443x faster audio-dft 364.9573+-2.0129 361.5342+-2.3947 audio-fft 274.0695+-0.2537 ^ 219.2772+-0.4352 ^ definitely 1.2499x faster audio-oscillator 449.9475+-2.2052 ^ 442.0701+-3.3194 ^ definitely 1.0178x faster imaging-darkroom 415.0468+-4.4894 ^ 390.9574+-4.1853 ^ definitely 1.0616x faster imaging-desaturate 297.4802+-0.2322 297.3128+-0.0707 imaging-gaussian-blur 801.7976+-1.2091 ^ 696.0927+-0.3739 ^ definitely 1.1519x faster json-parse-financial 71.7417+-0.1640 ! 72.7052+-0.1677 ! definitely 1.0134x slower json-stringify-tinderbox 104.6179+-0.2561 104.1383+-0.2901 stanford-crypto-aes 140.4939+-0.1132 ? 140.6970+-0.4771 ? stanford-crypto-ccm 130.7869+-0.5467 129.8170+-0.6464 stanford-crypto-pbkdf2 261.9172+-0.9742 260.9615+-1.0844 stanford-crypto-sha256-iterative 108.2584+-0.1808 ? 108.3181+-0.1846 ? <arithmetic> * 337.1676+-0.8505 ^ 320.0806+-1.0325 ^ definitely 1.0534x faster <geometric> 259.8860+-0.3624 ^ 249.4294+-0.5060 ^ definitely 1.0419x faster <harmonic> 198.6468+-0.2351 ^ 194.3329+-0.2853 ^ definitely 1.0222x faster TipOfTree32 InferDouble32 All benchmarks: <arithmetic> 123.5397+-0.2540 ^ 118.5838+-0.3125 ^ definitely 1.0418x faster <geometric> 29.2752+-0.0451 ^ 28.9905+-0.0480 ^ definitely 1.0098x faster <harmonic> 8.5472+-0.0350 ? 8.5908+-0.0296 ? might be 1.0051x slower TipOfTree32 InferDouble32 Geomean of preferred means: <scaled-result> 67.1386+-0.0768 ^ 66.1965+-0.1120 ^ definitely 1.0142x faster [pizlo@nitroflex bencher] Comment on attachment 119157 [details] the patch r=me any impact on perf of http://people.xiph.org/~bens/route9/route9.html ? Landed in http://trac.webkit.org/changeset/102743 (In reply to comment #7) > (From update of attachment 119157 [details]) > r=me any impact on perf of http://people.xiph.org/~bens/route9/route9.html ? Doesn't seem to affect it. |