WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
74480
DFG should infer when local variables are doubles
https://bugs.webkit.org/show_bug.cgi?id=74480
Summary
DFG should infer when local variables are doubles
Filip Pizlo
Reported
2011-12-13 20:32:33 PST
Currently the DFG will box and unbox double variables that span basic blocks. This is expensive. On 64-bit platforms (that use JSVALUE64) it means moving data between FPR file and the GPR file, and doing some arithmetic. Moving data between FPR and GPR is typically expensive on x86-64. On 32-bit systems that means clobbering three registers at a time (two GPRs and one FPR), doing twice as many loads and stores, and also doing data movement between FPRs and GPRs. It also means that the DFG must recheck that a local variable contains a double most of the time when a basic block uses it for the first time. The DFG should instead realize when a local variable contains a double.
Attachments
work in progress
(32.86 KB, patch)
2011-12-13 20:42 PST
,
Filip Pizlo
no flags
Details
Formatted Diff
Diff
the patch
(42.42 KB, patch)
2011-12-13 22:46 PST
,
Filip Pizlo
oliver
: review+
Details
Formatted Diff
Diff
Show Obsolete
(1)
View All
Add attachment
proposed patch, testcase, etc.
Filip Pizlo
Comment 1
2011-12-13 20:32:57 PST
<
rdar://problem/10577764
>
Filip Pizlo
Comment 2
2011-12-13 20:34:52 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]
Filip Pizlo
Comment 3
2011-12-13 20:42:27 PST
Created
attachment 119149
[details]
work in progress Still need to write the JSVALUE32_64 code.
WebKit Review Bot
Comment 4
2011-12-13 20:45:16 PST
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.
Filip Pizlo
Comment 5
2011-12-13 22:46:53 PST
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.
Filip Pizlo
Comment 6
2011-12-13 22:49:36 PST
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]
Oliver Hunt
Comment 7
2011-12-13 23:08:03 PST
Comment on
attachment 119157
[details]
the patch r=me any impact on perf of
http://people.xiph.org/~bens/route9/route9.html
?
Filip Pizlo
Comment 8
2011-12-13 23:17:02 PST
Landed in
http://trac.webkit.org/changeset/102743
Filip Pizlo
Comment 9
2011-12-14 00:34:11 PST
(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.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug