WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
117272
fourthTier: DFG CFA should know when it hits a contradiction
https://bugs.webkit.org/show_bug.cgi?id=117272
Summary
fourthTier: DFG CFA should know when it hits a contradiction
Filip Pizlo
Reported
2013-06-05 13:07:31 PDT
Patch forthcoming.
Attachments
work in progress
(49.15 KB, patch)
2013-06-05 13:07 PDT
,
Filip Pizlo
no flags
Details
Formatted Diff
Diff
the patch
(67.31 KB, patch)
2013-06-05 15:22 PDT
,
Filip Pizlo
oliver
: review+
Details
Formatted Diff
Diff
Show Obsolete
(1)
View All
Add attachment
proposed patch, testcase, etc.
Filip Pizlo
Comment 1
2013-06-05 13:07:53 PDT
Created
attachment 203875
[details]
work in progress
Filip Pizlo
Comment 2
2013-06-05 15:22:03 PDT
Created
attachment 203886
[details]
the patch
Filip Pizlo
Comment 3
2013-06-05 20:58:08 PDT
This looks like a ~0.8% V8v7 regression, most likely because every contradiction is automatically treated as a frequent exit. I'll investigate more before landing. Benchmark report for SunSpider, V8Spider, Octane, Kraken, and JSRegress on oldmac (MacPro4,1). VMs tested: "TipOfTree" at /Volumes/Data/pizlo/fourthTier/OpenSource/WebKitBuild/Release/jsc (
r151231
) "Contradiction" at /Volumes/Data/fromMiniMe/fourthTier/tertiary/OpenSource/WebKitBuild/Release/jsc (
r151231
) 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 Contradiction SunSpider: 3d-cube 6.7277+-0.1045 6.6596+-0.1014 might be 1.0102x faster 3d-morph 8.5155+-0.1194 8.4721+-0.1605 3d-raytrace 8.4792+-0.1267 8.4348+-0.1375 access-binary-trees 1.8227+-0.0143 1.8137+-0.0094 access-fannkuch 7.7148+-0.0905 7.6719+-0.0648 access-nbody 3.9882+-0.0094 3.9844+-0.0064 access-nsieve 4.8181+-0.0391 4.8136+-0.0830 bitops-3bit-bits-in-byte 1.7770+-0.0177 1.7747+-0.0174 bitops-bits-in-byte 6.9271+-0.0822 6.7983+-0.0873 might be 1.0189x faster bitops-bitwise-and 2.7874+-0.0363 2.7669+-0.0628 bitops-nsieve-bits 4.4528+-0.0634 ? 4.4830+-0.0273 ? controlflow-recursive 3.0036+-0.0352 ? 3.0072+-0.0356 ? crypto-aes 5.1966+-0.0763 5.1943+-0.0612 crypto-md5 3.0585+-0.0243 ? 3.0625+-0.0304 ? crypto-sha1 2.8425+-0.0198 ? 2.8444+-0.0270 ? date-format-tofte 14.8683+-0.2040 14.7809+-0.2138 date-format-xparb 8.3608+-0.1546 ? 8.3916+-0.1493 ? math-cordic 3.9594+-0.0321 3.9470+-0.0377 math-partial-sums 11.9370+-0.1072 11.9023+-0.1145 math-spectral-norm 2.7174+-0.0140 ? 2.7208+-0.0160 ? regexp-dna 12.6537+-0.1942 12.6361+-0.1811 string-base64 5.1019+-0.0412 5.0713+-0.0546 string-fasta 10.7448+-0.1391 10.7334+-0.0560 string-tagcloud 14.4382+-0.1602 14.4325+-0.2200 string-unpack-code 29.0000+-0.1420 28.8889+-0.1305 string-validate-input 6.7030+-0.1869 6.5883+-0.1800 might be 1.0174x faster <arithmetic> * 7.4075+-0.0545 7.3798+-0.0486 might be 1.0038x faster <geometric> 5.8395+-0.0345 5.8196+-0.0319 might be 1.0034x faster <harmonic> 4.7027+-0.0204 4.6897+-0.0197 might be 1.0028x faster TipOfTree Contradiction V8Spider: crypto 79.8109+-0.1825 79.6727+-0.4158 deltablue 104.5810+-1.7588 104.1448+-0.3557 earley-boyer 69.8515+-0.1867 ? 70.0228+-0.2414 ? raytrace 38.1151+-0.3861 ? 38.1790+-0.4742 ? regexp 100.9521+-0.7985 ? 101.4893+-0.3397 ? richards 112.5223+-1.4049 111.7891+-0.6706 splay 47.1807+-0.2157 ? 47.3771+-0.3044 ? <arithmetic> 79.0019+-0.2565 78.9536+-0.1809 might be 1.0006x faster <geometric> * 73.7812+-0.1961 ? 73.7970+-0.1621 ? might be 1.0002x slower <harmonic> 68.1945+-0.2058 ? 68.2631+-0.1863 ? might be 1.0010x slower TipOfTree Contradiction Octane and V8v7: encrypt 0.46862+-0.00351 0.46595+-0.00057 decrypt 8.62815+-0.01466 ^ 8.59114+-0.00548 ^ definitely 1.0043x faster deltablue x2 0.56742+-0.00305 ! 0.59626+-0.00289 ! definitely 1.0508x slower earley 0.88137+-0.00343 ? 0.88399+-0.00222 ? boyer 13.00454+-0.05012 ? 13.09365+-0.07199 ? raytrace x2 4.51976+-0.03846 4.47933+-0.04109 regexp x2 32.71187+-0.29210 32.60318+-0.36388 richards x2 0.31040+-0.00197 ? 0.31175+-0.00302 ? splay x2 0.64078+-0.01437 ? 0.66054+-0.02766 ? might be 1.0308x slower navier-stokes x2 10.81320+-0.01014 10.80681+-0.01318 closure 0.32216+-0.03576 ? 0.32366+-0.03625 ? jquery 4.57667+-0.55546 4.57426+-0.55678 gbemu x2 140.46226+-1.72771 ? 142.13469+-2.24039 ? might be 1.0119x slower box2d x2 32.72646+-0.11335 ^ 32.47411+-0.12822 ^ definitely 1.0078x faster V8v7: <arithmetic> 7.63185+-0.04081 7.62190+-0.04600 might be 1.0013x faster <geometric> * 2.43292+-0.01126 ? 2.45429+-0.01491 ? might be 1.0088x slower <harmonic> 0.92795+-0.00548 ! 0.94281+-0.00836 ! definitely 1.0160x slower Octane including V8v7: <arithmetic> 21.51754+-0.17811 ? 21.63936+-0.21620 ? might be 1.0057x slower <geometric> * 4.17728+-0.04408 ? 4.20616+-0.04614 ? might be 1.0069x slower <harmonic> 1.06197+-0.01756 ? 1.07676+-0.01895 ? might be 1.0139x slower TipOfTree Contradiction Kraken: ai-astar 492.812+-0.700 ! 518.598+-5.769 ! definitely 1.0523x slower audio-beat-detection 242.025+-0.863 241.510+-0.431 audio-dft 307.744+-0.834 ? 313.846+-10.592 ? might be 1.0198x slower audio-fft 144.674+-1.531 143.428+-0.448 audio-oscillator 246.839+-5.891 ? 249.157+-6.554 ? imaging-darkroom 286.121+-0.765 286.062+-0.779 imaging-desaturate 160.219+-0.402 ^ 158.888+-0.901 ^ definitely 1.0084x faster imaging-gaussian-blur 406.337+-5.660 ^ 399.774+-0.255 ^ definitely 1.0164x faster json-parse-financial 81.180+-0.639 ^ 79.674+-0.302 ^ definitely 1.0189x faster json-stringify-tinderbox 98.296+-0.222 ! 99.118+-0.318 ! definitely 1.0084x slower stanford-crypto-aes 92.243+-0.411 ! 93.793+-0.494 ! definitely 1.0168x slower stanford-crypto-ccm 90.241+-4.715 ? 90.727+-4.770 ? stanford-crypto-pbkdf2 263.967+-0.791 ! 269.242+-2.255 ! definitely 1.0200x slower stanford-crypto-sha256-iterative 115.162+-0.168 ! 116.207+-0.450 ! definitely 1.0091x slower <arithmetic> * 216.276+-0.665 ! 218.573+-0.869 ! definitely 1.0106x slower <geometric> 183.507+-0.727 ? 184.606+-0.748 ? might be 1.0060x slower <harmonic> 156.375+-0.960 ? 156.857+-0.972 ? might be 1.0031x slower TipOfTree Contradiction JSRegress: adapt-to-double-divide 22.5815+-0.0980 22.5376+-0.0987 aliased-arguments-getbyval 0.8388+-0.0075 0.8373+-0.0080 allocate-big-object 2.4910+-0.0247 2.4831+-0.0231 arity-mismatch-inlining 0.7810+-0.0226 0.7801+-0.0209 array-access-polymorphic-structure 6.8076+-0.0927 ! 9.8191+-0.1541 ! definitely 1.4424x slower array-nonarray-polymorhpic-access 208.2232+-1.7012 206.1913+-2.5074 array-with-double-add 5.9616+-0.0696 ^ 4.8444+-0.0616 ^ definitely 1.2306x faster array-with-double-increment 4.1665+-0.0557 ! 4.4680+-0.0296 ! definitely 1.0724x slower array-with-double-mul-add 6.6468+-0.0591 ^ 5.4096+-0.0620 ^ definitely 1.2287x faster array-with-double-sum 7.8875+-0.0867 ? 7.9348+-0.0899 ? array-with-int32-add-sub 10.6629+-0.1743 ^ 9.0435+-0.0596 ^ definitely 1.1791x faster array-with-int32-or-double-sum 7.9765+-0.0788 7.9585+-0.0814 big-int-mul 4.8110+-0.0410 ? 4.8239+-0.0447 ? boolean-test 4.3786+-0.0744 ? 4.3801+-0.0733 ? branch-fold 16.8321+-0.0927 ^ 16.0685+-0.0509 ^ definitely 1.0475x faster cast-int-to-double 13.9602+-0.2909 ? 13.9681+-0.1137 ? cell-argument 14.8679+-0.3763 14.7883+-0.3283 cfg-simplify 3.9907+-0.0474 ? 3.9913+-0.0460 ? cmpeq-obj-to-obj-other 11.0875+-0.1210 10.9272+-0.1400 might be 1.0147x faster constant-test 8.5756+-0.0743 ? 8.6536+-0.1151 ? direct-arguments-getbyval 0.7381+-0.0078 0.7374+-0.0110 double-pollution-getbyval 10.7537+-0.0889 ? 10.7694+-0.1040 ? double-pollution-putbyoffset 5.2980+-0.0916 5.2534+-0.0944 empty-string-plus-int 10.9229+-0.2046 10.8586+-0.1730 external-arguments-getbyval 1.9137+-0.0093 ? 1.9269+-0.0174 ? external-arguments-putbyval 3.1420+-0.0140 ? 3.1456+-0.0187 ? Float32Array-matrix-mult 13.8483+-0.1442 ! 15.4967+-0.1396 ! definitely 1.1190x slower fold-double-to-int 22.0320+-0.2780 21.9370+-0.2127 function-dot-apply 3.1075+-0.0131 ! 3.1888+-0.0093 ! definitely 1.0262x slower function-test 5.0288+-0.1250 4.9206+-0.1135 might be 1.0220x faster get-by-id-chain-from-try-block 6.7285+-0.1203 ? 6.7771+-0.2094 ? HashMap-put-get-iterate-keys 84.3518+-0.6405 ? 84.4359+-0.3590 ? HashMap-put-get-iterate 91.7142+-1.1229 ^ 89.6102+-0.7194 ^ definitely 1.0235x faster HashMap-string-put-get-iterate 71.7668+-0.4054 ? 73.2522+-2.0352 ? might be 1.0207x slower imul-double-only ERROR ERROR imul-int-only ERROR ERROR imul-mixed ERROR ERROR indexed-properties-in-objects 4.4767+-0.0614 4.4299+-0.0245 might be 1.0106x faster inline-arguments-access 1.2572+-0.0135 1.2533+-0.0125 inline-arguments-local-escape 23.1570+-0.2717 23.1368+-0.2998 inline-get-scoped-var 6.5491+-0.0637 ? 6.5619+-0.0753 ? inlined-put-by-id-transition 16.4308+-0.2398 ? 16.6107+-0.2369 ? might be 1.0109x slower int-or-other-abs-then-get-by-val 9.0039+-0.1037 8.8921+-0.0731 might be 1.0126x faster int-or-other-abs-zero-then-get-by-val 41.2373+-0.1009 41.1927+-0.0688 int-or-other-add-then-get-by-val 10.2194+-0.1230 10.1548+-0.0743 int-or-other-add 10.4464+-0.0546 10.4157+-0.0628 int-or-other-div-then-get-by-val 6.3523+-0.0906 6.3444+-0.0845 int-or-other-max-then-get-by-val 7.3454+-0.0919 7.3285+-0.0874 int-or-other-min-then-get-by-val 7.3951+-0.0898 7.3428+-0.0936 int-or-other-mod-then-get-by-val 6.0404+-0.0677 ? 6.1222+-0.0923 ? might be 1.0135x slower int-or-other-mul-then-get-by-val 6.5141+-0.0974 6.4980+-0.0841 int-or-other-neg-then-get-by-val 8.1016+-0.1216 ? 8.1052+-0.1123 ? int-or-other-neg-zero-then-get-by-val 40.4480+-0.1461 40.3960+-0.1960 int-or-other-sub-then-get-by-val 10.2778+-0.1147 10.2004+-0.0978 int-or-other-sub 8.2392+-0.0968 8.2276+-0.0900 int-overflow-local 11.7439+-0.1222 ? 11.7661+-0.1422 ? Int16Array-bubble-sort 49.2737+-0.1166 ! 49.6635+-0.0889 ! definitely 1.0079x slower Int16Array-load-int-mul 1.9216+-0.0082 1.9207+-0.0089 Int8Array-load 4.7805+-0.0712 ? 4.8260+-0.0521 ? integer-divide 15.3376+-0.1156 15.2889+-0.1000 integer-modulo 1.9826+-0.0113 1.9793+-0.0151 make-indexed-storage 3.7250+-0.0521 3.7218+-0.0329 method-on-number 25.0239+-0.3131 ? 25.2970+-0.3052 ? might be 1.0109x slower negative-zero-divide 0.3283+-0.0141 0.3269+-0.0132 negative-zero-modulo 0.3240+-0.0191 0.3231+-0.0217 negative-zero-negate 0.3164+-0.0305 0.3068+-0.0189 might be 1.0312x faster nested-function-parsing-random 390.6321+-14.0313 384.7706+-13.2177 might be 1.0152x faster nested-function-parsing 47.9052+-1.0062 ? 48.5271+-1.2418 ? might be 1.0130x slower new-array-buffer-dead 3.7386+-0.0550 ^ 3.6640+-0.0179 ^ definitely 1.0204x faster new-array-buffer-push 10.1991+-0.1749 ! 10.5612+-0.1535 ! definitely 1.0355x slower new-array-dead 28.4129+-0.1548 28.3287+-0.1193 new-array-push 6.8692+-0.0468 ! 7.9936+-0.1464 ! definitely 1.1637x slower number-test 4.4082+-0.0956 4.3131+-0.0838 might be 1.0220x faster object-closure-call 11.3768+-2.0853 ? 11.3838+-2.1588 ? object-test 4.7962+-0.0641 ? 4.7971+-0.0365 ? poly-stricteq 91.6223+-0.0886 ! 92.6186+-0.6153 ! definitely 1.0109x slower polymorphic-structure 20.6851+-0.1413 ? 20.7164+-0.0741 ? polyvariant-monomorphic-get-by-id 12.5826+-0.1150 ? 12.6720+-0.1752 ? rare-osr-exit-on-local 20.0561+-0.1177 ? 20.0706+-0.2016 ? register-pressure-from-osr 31.4160+-0.1148 31.2829+-0.0850 simple-activation-demo 34.5253+-0.2809 34.3046+-0.1543 slow-array-profile-convergence 3.8523+-0.0210 3.8139+-0.0477 might be 1.0101x faster slow-convergence 3.3858+-0.0149 ? 3.3870+-0.0112 ? sparse-conditional 1.3127+-0.0214 1.3047+-0.0191 splice-to-remove 49.5206+-0.2651 ! 52.3485+-0.8964 ! definitely 1.0571x slower string-concat-object 2.7242+-0.0200 ? 2.7243+-0.0210 ? string-concat-pair-object 2.6875+-0.0401 ? 2.6877+-0.0566 ? string-concat-pair-simple 17.1435+-0.3281 ? 17.1996+-0.2698 ? string-concat-simple 17.0137+-0.3306 16.9058+-0.2521 string-cons-repeat 10.2293+-0.0874 10.1933+-0.0201 string-cons-tower 10.9699+-0.0536 10.9293+-0.0688 string-equality 108.0268+-3.5476 105.1438+-1.2751 might be 1.0274x faster string-hash 2.5531+-0.0089 ? 2.5600+-0.0092 ? string-repeat-arith 43.4555+-0.4192 43.1203+-0.1121 string-sub 88.5814+-0.7647 ^ 86.3685+-0.7308 ^ definitely 1.0256x faster string-test 4.2163+-0.0394 ? 4.2236+-0.0297 ? structure-hoist-over-transitions 3.2562+-0.0927 3.1668+-0.0231 might be 1.0282x faster tear-off-arguments-simple 1.7424+-0.0197 ? 1.7456+-0.0132 ? tear-off-arguments 3.2147+-0.0438 3.1765+-0.0084 might be 1.0121x faster temporal-structure 21.0518+-0.1216 20.9959+-0.0868 to-int32-boolean 23.1511+-0.0712 ? 23.2103+-0.1238 ? undefined-test 4.4847+-0.0295 ? 4.5248+-0.0603 ? <arithmetic> ERROR ERROR <geometric> * ERROR ERROR <harmonic> ERROR ERROR TipOfTree Contradiction All benchmarks: <arithmetic> ERROR ERROR <geometric> ERROR ERROR <harmonic> ERROR ERROR TipOfTree Contradiction Geomean of preferred means: <scaled-result> ERROR ERROR
Filip Pizlo
Comment 4
2013-06-06 12:44:57 PDT
Lol. It's starting to look that the performance regression was a direct outcome of the same bug as
https://bugs.webkit.org/show_bug.cgi?id=117279
: anytime we watchpointed the ArrayPrototype, this patch would think that we should force-exit. The code would do that because it would observe the m_arrayModes going to BOTTOM. Awesome. I'm now testing after rebaselining to that patch.
Filip Pizlo
Comment 5
2013-06-06 17:16:43 PDT
Landed in
http://trac.webkit.org/changeset/151303
. It was no longer a regression because of the fix to array mode filtering: Benchmark report for SunSpider, V8Spider, Octane, Kraken, and JSRegress on oldmac (MacPro4,1). VMs tested: "TipOfTree" at /Volumes/Data/pizlo/fourthTier/OpenSource/WebKitBuild/Release/jsc (
r151283
) "Contradiction" at /Volumes/Data/fromMiniMe/fourthTier/tertiary/OpenSource/WebKitBuild/Release/jsc (
r151283
) 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 Contradiction SunSpider: 3d-cube 6.7439+-0.0845 ? 6.7469+-0.0900 ? 3d-morph 8.5446+-0.1424 8.3622+-0.0982 might be 1.0218x faster 3d-raytrace 8.4732+-0.1492 ? 8.4936+-0.1066 ? access-binary-trees 1.8824+-0.0866 1.8178+-0.0069 might be 1.0355x faster access-fannkuch 7.7086+-0.0696 ? 7.7295+-0.0840 ? access-nbody 4.0392+-0.0621 3.9713+-0.0282 might be 1.0171x faster access-nsieve 4.8007+-0.1030 ? 4.8042+-0.0533 ? bitops-3bit-bits-in-byte 1.7746+-0.0163 ? 1.7783+-0.0223 ? bitops-bits-in-byte 6.6867+-0.0732 ? 6.7443+-0.0721 ? bitops-bitwise-and 2.7754+-0.0470 ? 2.7932+-0.0390 ? bitops-nsieve-bits 4.5253+-0.0254 ? 4.5306+-0.0331 ? controlflow-recursive 2.9993+-0.0308 ? 3.0049+-0.0290 ? crypto-aes 5.2973+-0.1209 5.2188+-0.0597 might be 1.0150x faster crypto-md5 3.0494+-0.0274 ! 3.1249+-0.0331 ! definitely 1.0248x slower crypto-sha1 2.8595+-0.0277 2.8562+-0.0215 date-format-tofte 14.9309+-0.2432 14.8696+-0.1967 date-format-xparb 8.4568+-0.1897 ? 8.5309+-0.1872 ? math-cordic 3.9302+-0.0140 ? 3.9351+-0.0126 ? math-partial-sums 11.8062+-0.0781 ? 11.9156+-0.1170 ? math-spectral-norm 2.7113+-0.0164 ? 2.7188+-0.0150 ? regexp-dna 12.7505+-0.1725 12.6800+-0.1917 string-base64 5.0538+-0.0686 ? 5.0899+-0.0581 ? string-fasta 10.8700+-0.2191 10.7755+-0.1543 string-tagcloud 14.5275+-0.1683 14.4694+-0.2045 string-unpack-code 29.0319+-0.1442 29.0281+-0.1304 string-validate-input 6.4951+-0.1160 ? 6.5691+-0.1130 ? might be 1.0114x slower <arithmetic> * 7.4125+-0.0549 7.4061+-0.0499 might be 1.0009x faster <geometric> 5.8437+-0.0360 5.8398+-0.0309 might be 1.0007x faster <harmonic> 4.7129+-0.0288 4.7064+-0.0175 might be 1.0014x faster TipOfTree Contradiction V8Spider: crypto 79.9150+-0.1787 ^ 79.5882+-0.1333 ^ definitely 1.0041x faster deltablue 103.6937+-0.5881 ^ 102.1184+-0.2341 ^ definitely 1.0154x faster earley-boyer 70.4536+-0.2245 ? 70.6261+-0.2324 ? raytrace 38.0140+-0.2351 37.6969+-0.2100 regexp 100.2354+-0.1964 ! 100.8331+-0.2926 ! definitely 1.0060x slower richards 112.1393+-1.5756 ? 112.6494+-1.2603 ? splay 46.9385+-0.3507 ? 47.1421+-0.4130 ? <arithmetic> 78.7699+-0.2969 78.6649+-0.2259 might be 1.0013x faster <geometric> * 73.6062+-0.2248 73.4965+-0.2196 might be 1.0015x faster <harmonic> 68.0515+-0.2086 67.9239+-0.2386 might be 1.0019x faster TipOfTree Contradiction Octane and V8v7: encrypt 0.46747+-0.00065 ? 0.46902+-0.00505 ? decrypt 8.63819+-0.05217 8.60522+-0.01010 deltablue x2 0.57594+-0.00334 0.57307+-0.00420 earley 0.87832+-0.00701 ! 0.89916+-0.00289 ! definitely 1.0237x slower boyer 13.12776+-0.17097 13.00711+-0.08348 raytrace x2 4.50568+-0.03941 4.50558+-0.06929 regexp x2 32.38359+-0.33513 ? 32.63562+-0.38478 ? richards x2 0.30839+-0.00109 ? 0.31108+-0.00324 ? splay x2 0.64421+-0.01645 0.63132+-0.00956 might be 1.0204x faster navier-stokes x2 10.83006+-0.02664 10.81908+-0.00918 closure 0.32072+-0.03548 ? 0.32499+-0.03585 ? might be 1.0133x slower jquery 4.58813+-0.55443 4.56708+-0.55385 gbemu x2 141.26124+-1.88930 ? 142.34676+-2.30909 ? box2d x2 32.94576+-0.09921 32.89076+-0.14888 V8v7: <arithmetic> 7.60047+-0.04404 ? 7.62075+-0.05040 ? might be 1.0027x slower <geometric> * 2.43418+-0.01190 2.43332+-0.00934 might be 1.0004x faster <harmonic> 0.92879+-0.00474 ? 0.92925+-0.00388 ? might be 1.0005x slower Octane including V8v7: <arithmetic> 21.58774+-0.19318 ? 21.69541+-0.23157 ? might be 1.0050x slower <geometric> * 4.18320+-0.04437 ? 4.18610+-0.04786 ? might be 1.0007x slower <harmonic> 1.06211+-0.01711 ? 1.06474+-0.01796 ? might be 1.0025x slower TipOfTree Contradiction Kraken: ai-astar 495.391+-3.625 492.529+-0.441 audio-beat-detection 242.645+-1.712 ? 242.788+-1.125 ? audio-dft 309.118+-0.929 307.690+-0.668 audio-fft 143.424+-0.168 143.291+-0.433 audio-oscillator 246.658+-5.896 246.646+-5.829 imaging-darkroom 286.055+-0.954 285.988+-0.794 imaging-desaturate 159.915+-0.131 ^ 157.728+-0.133 ^ definitely 1.0139x faster imaging-gaussian-blur 401.955+-0.609 ^ 399.957+-0.599 ^ definitely 1.0050x faster json-parse-financial 80.617+-0.267 80.538+-0.308 json-stringify-tinderbox 98.695+-0.244 ! 99.172+-0.222 ! definitely 1.0048x slower stanford-crypto-aes 94.071+-0.881 ^ 92.821+-0.365 ^ definitely 1.0135x faster stanford-crypto-ccm 97.278+-1.621 94.653+-4.653 might be 1.0277x faster stanford-crypto-pbkdf2 267.936+-0.471 ^ 265.244+-0.871 ^ definitely 1.0101x faster stanford-crypto-sha256-iterative 116.746+-0.540 ^ 115.606+-0.303 ^ definitely 1.0099x faster <arithmetic> * 217.179+-0.411 ^ 216.047+-0.423 ^ definitely 1.0052x faster <geometric> 184.994+-0.287 ^ 183.825+-0.689 ^ definitely 1.0064x faster <harmonic> 158.375+-0.349 157.147+-0.995 might be 1.0078x faster TipOfTree Contradiction JSRegress: adapt-to-double-divide 22.5415+-0.0932 22.5261+-0.0910 aliased-arguments-getbyval 0.8373+-0.0088 ? 0.8400+-0.0057 ? allocate-big-object 2.4917+-0.0265 2.4871+-0.0263 arity-mismatch-inlining 0.7852+-0.0221 ? 0.7882+-0.0211 ? array-access-polymorphic-structure 6.7777+-0.1221 ? 6.8224+-0.0905 ? array-nonarray-polymorhpic-access 196.1500+-2.4649 194.8028+-3.3513 array-with-double-add 5.8491+-0.0734 ? 5.9408+-0.0942 ? might be 1.0157x slower array-with-double-increment 4.2003+-0.0751 4.1754+-0.0601 array-with-double-mul-add 6.6502+-0.0659 ? 6.6740+-0.0727 ? array-with-double-sum 7.8929+-0.1029 ? 7.9423+-0.0960 ? array-with-int32-add-sub 10.5938+-0.1123 10.5666+-0.0971 array-with-int32-or-double-sum 7.9892+-0.1018 7.9435+-0.0904 big-int-mul 4.8157+-0.0563 4.7972+-0.0761 boolean-test 4.4010+-0.0670 ? 4.4611+-0.0847 ? might be 1.0137x slower branch-fold 16.1243+-0.0820 ! 16.8069+-0.1033 ! definitely 1.0423x slower cast-int-to-double 13.7496+-0.1351 ? 14.0217+-0.1374 ? might be 1.0198x slower cell-argument 15.0269+-0.2407 14.8682+-0.3627 might be 1.0107x faster cfg-simplify 3.9815+-0.0604 ? 3.9942+-0.0459 ? cmpeq-obj-to-obj-other 11.0407+-0.2178 10.9462+-0.2614 constant-test 8.5717+-0.1446 ? 8.5932+-0.1051 ? direct-arguments-getbyval 0.7366+-0.0095 0.7362+-0.0082 double-pollution-getbyval 10.8286+-0.0819 10.7523+-0.0676 double-pollution-putbyoffset 5.4545+-0.0732 5.3304+-0.0732 might be 1.0233x faster empty-string-plus-int 10.8436+-0.1688 ? 10.9394+-0.2026 ? external-arguments-getbyval 1.9179+-0.0098 1.9094+-0.0102 external-arguments-putbyval 3.1204+-0.0229 ? 3.1398+-0.0170 ? Float32Array-matrix-mult 13.7677+-0.1294 13.7527+-0.1955 fold-double-to-int 22.0692+-0.2302 22.0465+-0.2163 function-dot-apply 3.1082+-0.0180 ! 3.1837+-0.0123 ! definitely 1.0243x slower function-test 4.9671+-0.0894 4.8954+-0.0953 might be 1.0147x faster get-by-id-chain-from-try-block 6.8419+-0.1761 6.8050+-0.1478 HashMap-put-get-iterate-keys 85.2540+-0.7066 ? 85.3857+-0.6933 ? HashMap-put-get-iterate 91.5647+-0.9500 ^ 89.5862+-0.3902 ^ definitely 1.0221x faster HashMap-string-put-get-iterate 72.0914+-0.4345 ? 72.4170+-0.3853 ? imul-double-only ERROR ERROR imul-int-only ERROR ERROR imul-mixed ERROR ERROR indexed-properties-in-objects 4.4343+-0.0206 4.4291+-0.0129 inline-arguments-access 1.2696+-0.0251 1.2629+-0.0172 inline-arguments-local-escape 23.0177+-0.2022 ? 23.4243+-0.2588 ? might be 1.0177x slower inline-get-scoped-var 6.6154+-0.0906 6.5345+-0.1045 might be 1.0124x faster inlined-put-by-id-transition 16.0892+-0.3542 ? 16.5522+-0.1941 ? might be 1.0288x slower int-or-other-abs-then-get-by-val 8.9536+-0.1016 ? 8.9724+-0.1261 ? int-or-other-abs-zero-then-get-by-val 40.7369+-0.2497 40.3718+-0.1313 int-or-other-add-then-get-by-val 10.2111+-0.0837 10.1787+-0.0750 int-or-other-add 10.5219+-0.1115 10.4488+-0.0910 int-or-other-div-then-get-by-val 6.4897+-0.0878 6.4044+-0.0880 might be 1.0133x faster int-or-other-max-then-get-by-val 7.2986+-0.0997 7.2736+-0.0807 int-or-other-min-then-get-by-val 7.3794+-0.0874 7.3512+-0.0828 int-or-other-mod-then-get-by-val 6.2213+-0.0597 ? 6.2661+-0.0863 ? int-or-other-mul-then-get-by-val 6.5277+-0.0820 ? 6.5696+-0.0936 ? int-or-other-neg-then-get-by-val 8.0659+-0.0965 ? 8.1182+-0.1385 ? int-or-other-neg-zero-then-get-by-val 40.3857+-0.2214 40.3225+-0.1354 int-or-other-sub-then-get-by-val 10.2645+-0.0929 10.1624+-0.0696 might be 1.0100x faster int-or-other-sub 8.1489+-0.0838 ? 8.2344+-0.1061 ? might be 1.0105x slower int-overflow-local 11.8365+-0.1941 11.7121+-0.0910 might be 1.0106x faster Int16Array-bubble-sort 49.2049+-0.0594 ! 49.6925+-0.0914 ! definitely 1.0099x slower Int16Array-load-int-mul 1.9216+-0.0105 ? 1.9319+-0.0200 ? Int8Array-load 4.8217+-0.0514 ? 4.8218+-0.0374 ? integer-divide 15.2273+-0.0814 ? 15.2938+-0.1224 ? integer-modulo 1.9910+-0.0210 1.9898+-0.0158 make-indexed-storage 3.7182+-0.0454 ? 3.7272+-0.0499 ? method-on-number 25.0840+-0.2854 ! 26.3358+-0.4089 ! definitely 1.0499x slower negative-zero-divide 0.3307+-0.0153 0.3289+-0.0129 negative-zero-modulo 0.3241+-0.0198 ? 0.3265+-0.0181 ? negative-zero-negate 0.3106+-0.0208 0.3076+-0.0186 nested-function-parsing-random 383.3783+-12.3366 ? 383.9648+-13.8544 ? nested-function-parsing 47.9470+-1.0493 ? 48.1746+-1.0443 ? new-array-buffer-dead 3.6712+-0.0183 ? 3.6852+-0.0413 ? new-array-buffer-push 10.3081+-0.1449 10.1844+-0.2018 might be 1.0121x faster new-array-dead 28.7331+-0.4932 28.5266+-0.2516 new-array-push 6.8203+-0.0990 ? 6.8390+-0.0460 ? number-test 4.3645+-0.0623 4.3246+-0.0563 object-closure-call 11.2536+-2.0740 10.1659+-1.9106 might be 1.1070x faster object-test 4.8110+-0.0592 4.7831+-0.0616 poly-stricteq 92.2711+-0.9136 ? 92.5784+-0.9485 ? polymorphic-structure 20.7365+-0.0683 ? 20.7606+-0.0799 ? polyvariant-monomorphic-get-by-id 12.5152+-0.0945 ? 12.5676+-0.1153 ? rare-osr-exit-on-local 20.1113+-0.1281 ? 20.2976+-0.3495 ? register-pressure-from-osr 31.3390+-0.1381 ? 31.3530+-0.1219 ? simple-activation-demo 34.2942+-0.1194 ? 34.3198+-0.1148 ? slow-array-profile-convergence 3.8538+-0.0277 3.8507+-0.0250 slow-convergence 3.3973+-0.0209 ? 3.4003+-0.0180 ? sparse-conditional 1.3127+-0.0252 1.3068+-0.0196 splice-to-remove 49.6141+-0.1744 ! 50.0255+-0.2203 ! definitely 1.0083x slower string-concat-object 2.7395+-0.0541 2.6997+-0.0366 might be 1.0147x faster string-concat-pair-object 2.6336+-0.0271 ? 2.6718+-0.0336 ? might be 1.0145x slower string-concat-pair-simple 16.9388+-0.3235 16.8107+-0.2433 string-concat-simple 17.2701+-0.2618 ? 17.4277+-0.3120 ? string-cons-repeat 10.1685+-0.0338 ? 10.1758+-0.0283 ? string-cons-tower 11.0088+-0.1423 10.8924+-0.0375 might be 1.0107x faster string-equality 104.5272+-0.1960 ? 105.7507+-1.0439 ? might be 1.0117x slower string-hash 2.5556+-0.0097 2.5554+-0.0098 string-repeat-arith 43.5841+-0.2645 43.4800+-0.2983 string-sub 87.9012+-1.3839 87.3511+-0.7470 string-test 4.2173+-0.0187 ? 4.2376+-0.0452 ? structure-hoist-over-transitions 3.1807+-0.0267 3.1719+-0.0255 tear-off-arguments-simple 1.7324+-0.0129 ? 1.7438+-0.0159 ? tear-off-arguments 3.1782+-0.0089 ? 3.1786+-0.0073 ? temporal-structure 21.2422+-0.3230 20.9615+-0.0791 might be 1.0134x faster to-int32-boolean 23.1393+-0.0796 ? 23.2634+-0.1537 ? undefined-test 4.4957+-0.0406 ? 4.5139+-0.0465 ? <arithmetic> ERROR ERROR <geometric> * ERROR ERROR <harmonic> ERROR ERROR TipOfTree Contradiction All benchmarks: <arithmetic> ERROR ERROR <geometric> ERROR ERROR <harmonic> ERROR ERROR TipOfTree Contradiction Geomean of preferred means: <scaled-result> ERROR ERROR
Filip Pizlo
Comment 6
2013-06-06 21:24:52 PDT
Landed in
http://trac.webkit.org/changeset/151303
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