RESOLVED FIXED Bug 126799
FTL should enough things to compile inlined closure calls (like CheckExecutable and GetScope)
https://bugs.webkit.org/show_bug.cgi?id=126799
Summary FTL should enough things to compile inlined closure calls (like CheckExecutab...
Filip Pizlo
Reported 2014-01-10 17:26:37 PST
Patch forthcoming.
Attachments
the patch (11.57 KB, patch)
2014-01-10 18:15 PST, Filip Pizlo
oliver: review+
Filip Pizlo
Comment 1 2014-01-10 18:15:41 PST
Created attachment 220914 [details] the patch
Oliver Hunt
Comment 2 2014-01-10 18:25:35 PST
Comment on attachment 220914 [details] the patch View in context: https://bugs.webkit.org/attachment.cgi?id=220914&action=review > Source/JavaScriptCore/ChangeLog:3 > + FTL should enough things to compile inlined closure calls (like CheckExecutable and GetScope) it should enough indeed!
Filip Pizlo
Comment 3 2014-01-10 18:27:51 PST
(In reply to comment #2) > (From update of attachment 220914 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=220914&action=review > > > Source/JavaScriptCore/ChangeLog:3 > > + FTL should enough things to compile inlined closure calls (like CheckExecutable and GetScope) > > it should enough indeed! Heh. I was going to change the bug title but then I realized that this is one of the most unintentionally awesome bug titles evarrr.
Filip Pizlo
Comment 4 2014-01-10 20:57:15 PST
Some performance. Note that since I ran all of the benchmarks, I discovered this thing: https://bugs.webkit.org/show_bug.cgi?id=126802 VMs tested: "TipOfTree" at /Volumes/Data/pizlo/cStack/OpenSource/WebKitBuild/Release/jsc (r161705) "FixCheckExec" at /Volumes/Data/fromMiniMe/cStack/OpenSource/WebKitBuild/Release/jsc (r161705) "FTL" at /Volumes/Data/pizlo/cStack/OpenSource/WebKitBuild/Release/jsc (r161705) export JSC_useExperimentalFTL=true "FTLFixCheckExec" at /Volumes/Data/fromMiniMe/cStack/OpenSource/WebKitBuild/Release/jsc (r161705) export JSC_useExperimentalFTL=true Collected 10 samples per benchmark/VM, with 10 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 FixCheckExec FTL FTLFixCheckExec FTLFixCheckExec v. TipOfTree SunSpider: 3d-cube 7.6711+-0.0566 ? 7.6721+-0.1147 ! 8.0912+-0.0524 8.0318+-0.1478 ! definitely 1.0470x slower 3d-morph 8.8286+-0.1124 ? 8.8485+-0.0679 ? 8.8794+-0.0509 ? 8.8904+-0.0654 ? 3d-raytrace 9.0245+-0.1112 ? 9.0846+-0.1497 ! 9.4104+-0.1113 ? 9.4230+-0.1628 ! definitely 1.0442x slower access-binary-trees 1.9999+-0.0111 ? 2.0042+-0.0137 ! 2.2053+-0.0754 2.1799+-0.0159 ! definitely 1.0900x slower access-fannkuch 8.1082+-0.0869 ? 8.1354+-0.0676 8.0058+-0.0730 ? 8.0350+-0.0902 access-nbody 4.2680+-0.0196 4.2590+-0.0504 ? 4.2632+-0.0091 ? 4.2714+-0.0095 ? access-nsieve 5.0443+-0.0411 5.0435+-0.0777 ! 5.5087+-0.1305 5.5084+-0.1195 ! definitely 1.0920x slower bitops-3bit-bits-in-byte 1.8362+-0.0034 1.8326+-0.0086 ! 2.0089+-0.0235 1.9989+-0.0261 ! definitely 1.0886x slower bitops-bits-in-byte 6.6302+-0.1221 ? 6.6880+-0.0688 ? 6.7059+-0.0236 6.7040+-0.0164 ? might be 1.0111x slower bitops-bitwise-and 3.1255+-0.0166 3.0988+-0.0479 3.0641+-0.0321 3.0608+-0.0185 ^ definitely 1.0211x faster bitops-nsieve-bits 5.2763+-0.0241 ? 5.2891+-0.0181 ! 5.7512+-0.1253 ? 5.7830+-0.0952 ! definitely 1.0960x slower controlflow-recursive 2.8079+-0.0103 ? 2.8202+-0.0350 ! 3.8864+-0.0418 ? 3.8904+-0.0228 ! definitely 1.3855x slower crypto-aes 5.5870+-0.0499 ? 5.6043+-0.0524 ! 6.0238+-0.0411 ? 6.0317+-0.0221 ! definitely 1.0796x slower crypto-md5 3.1730+-0.0295 ? 3.1771+-0.0177 ! 3.5966+-0.0200 ? 3.6138+-0.0325 ! definitely 1.1389x slower crypto-sha1 2.9949+-0.0063 ? 3.0397+-0.0551 ! 3.7330+-0.0238 3.7302+-0.0148 ! definitely 1.2455x slower date-format-tofte 11.3585+-0.2075 ? 11.5177+-0.2153 11.3836+-0.1623 ? 11.3902+-0.0493 ? date-format-xparb 8.5674+-0.0726 ^ 8.3812+-0.0815 ! 8.5720+-0.0893 8.4240+-0.0728 might be 1.0170x faster math-cordic 4.4530+-0.1026 ? 4.4747+-0.0780 ! 4.8512+-0.0406 4.8322+-0.0416 ! definitely 1.0851x slower math-partial-sums 10.2077+-0.0905 ? 10.2704+-0.1039 10.1999+-0.1436 ? 10.2014+-0.0875 math-spectral-norm 2.7741+-0.0073 ! 2.7918+-0.0075 ! 3.2464+-0.0267 ? 3.2557+-0.0258 ! definitely 1.1736x slower regexp-dna 13.0460+-0.1539 12.9595+-0.0543 ? 12.9971+-0.0939 12.9771+-0.1134 string-base64 5.5654+-0.0648 5.5554+-0.0263 ? 5.5672+-0.0321 5.5672+-0.0305 ? string-fasta 10.5246+-0.1475 ? 10.6132+-0.1327 ? 10.9395+-0.2530 10.8660+-0.2037 ? might be 1.0324x slower string-tagcloud 15.1067+-0.0863 ? 15.1341+-0.0897 15.0781+-0.0761 ? 15.0897+-0.0977 string-unpack-code 30.9782+-0.2159 ? 31.1175+-0.2352 ! 31.9035+-0.2278 ? 31.9447+-0.1222 ! definitely 1.0312x slower string-validate-input 7.0970+-0.0587 ? 7.1020+-0.1347 7.0507+-0.0608 ? 7.0541+-0.0576 <arithmetic> * 7.5405+-0.0194 ? 7.5583+-0.0129 ! 7.8047+-0.0237 7.7983+-0.0147 ! definitely 1.0342x slower <geometric> 6.0350+-0.0150 ? 6.0471+-0.0112 ! 6.3900+-0.0195 6.3832+-0.0090 ! definitely 1.0577x slower <harmonic> 4.9255+-0.0102 ? 4.9347+-0.0128 ! 5.3507+-0.0227 5.3430+-0.0070 ! definitely 1.0848x slower TipOfTree FixCheckExec FTL FTLFixCheckExec FTLFixCheckExec v. TipOfTree LongSpider: 3d-cube 2503.8764+-7.7849 2503.5155+-10.1915 ^ 1361.5917+-12.0343 1359.1902+-5.9177 ^ definitely 1.8422x faster 3d-morph 1504.1944+-11.8778 1499.5586+-1.1211 ? 1508.6936+-19.0110 1501.1449+-2.6559 3d-raytrace 1496.8155+-7.4426 ! 1529.3772+-23.2964 ! 2939.7097+-7.3700 ! 2975.2048+-13.2452 ! definitely 1.9877x slower access-binary-trees 2142.2101+-11.0790 2138.0412+-11.5395 ! 2277.7354+-12.6957 2275.2448+-17.1123 ! definitely 1.0621x slower access-fannkuch 666.4541+-0.5140 665.8604+-1.7243 665.4863+-1.6127 ? 666.4712+-0.6101 ? access-nbody 1474.7346+-2.2429 1474.3858+-2.4483 ? 1475.8490+-2.3036 ? 1475.8843+-2.5830 ? access-nsieve 1543.1600+-2.8566 ? 1545.9718+-4.4345 1544.6409+-4.7426 ? 1553.3952+-21.8562 ? bitops-3bit-bits-in-byte 121.2870+-0.2276 ? 121.3872+-0.1069 ^ 61.3529+-0.1859 61.3390+-0.1769 ^ definitely 1.9773x faster bitops-bits-in-byte 586.7075+-1.5910 586.5655+-2.8073 ^ 402.8717+-2.9662 402.2881+-2.0431 ^ definitely 1.4584x faster bitops-nsieve-bits 1125.0093+-1.8826 ? 1127.1469+-1.5727 ! 1350.0237+-8.4912 1282.3742+-94.6260 ! definitely 1.1399x slower controlflow-recursive 1155.0647+-1.7116 1154.2030+-1.9268 ! 1619.7804+-5.3198 1619.2261+-5.6025 ! definitely 1.4018x slower crypto-aes 1661.5544+-2.9745 1659.9839+-3.5124 1655.7128+-2.1547 ? 1665.3273+-17.9815 ? crypto-md5 1145.3681+-2.7763 1142.7816+-1.8070 ^ 1130.2133+-2.2666 ? 1132.5366+-2.9232 ^ definitely 1.0113x faster crypto-sha1 1641.6758+-2.2150 1641.2960+-3.3866 1639.9779+-2.6814 ? 1640.7492+-1.9569 date-format-tofte 1192.6022+-20.4162 1165.4355+-8.9425 ? 1170.0567+-5.6410 ? 1174.2835+-4.6053 might be 1.0156x faster date-format-xparb 1415.8439+-12.1751 ? 1426.8098+-7.2546 1425.9829+-14.0540 ? 1426.0795+-12.9707 ? math-cordic 1699.8555+-12.5645 1695.8620+-10.0715 ^ 1148.7284+-10.9908 ? 1159.8217+-9.9454 ^ definitely 1.4656x faster math-partial-sums 1318.8764+-16.6880 1311.1427+-2.6289 ? 1313.3221+-1.0960 1312.9880+-0.5090 math-spectral-norm 1835.7296+-21.5649 1825.7000+-0.4398 ^ 1784.7417+-0.6079 ? 1785.5311+-0.9084 ^ definitely 1.0281x faster string-base64 501.7857+-1.8510 501.6455+-2.3853 500.4580+-2.1276 ? 503.1436+-2.5841 ? string-fasta 1008.5933+-8.2789 1006.5723+-2.4411 ! 1074.5014+-18.1484 1064.7477+-5.3045 ! definitely 1.0557x slower string-tagcloud 384.6100+-1.3671 ? 386.1158+-2.2035 385.8059+-1.8750 384.4406+-0.8247 <arithmetic> 1278.4549+-1.9509 1277.6981+-1.5481 ! 1292.6017+-1.5761 1291.8824+-4.2236 ! definitely 1.0105x slower <geometric> * 1093.5476+-1.4516 1092.9656+-1.1055 ^ 1054.6437+-1.1743 1053.0833+-3.7266 ^ definitely 1.0384x faster <harmonic> 790.3592+-0.7848 ? 790.3811+-0.6294 ^ 602.5286+-0.6451 601.8717+-0.9507 ^ definitely 1.3132x faster TipOfTree FixCheckExec FTL FTLFixCheckExec FTLFixCheckExec v. TipOfTree V8Spider: crypto 80.1494+-0.3566 ? 80.1984+-0.2828 ERROR ERROR deltablue 98.0229+-0.4899 ? 98.7246+-1.0518 ! 101.4045+-1.0451 ? 101.7608+-0.9227 ! definitely 1.0381x slower earley-boyer 70.7429+-0.5927 ? 71.7299+-1.3362 70.4654+-0.3269 ? 70.9077+-0.2354 ? raytrace 40.5880+-0.2065 ? 40.7245+-0.3270 ! 41.7137+-0.2934 ? 41.7985+-0.1700 ! definitely 1.0298x slower regexp 99.6550+-0.2859 ? 100.0858+-0.3753 99.6396+-0.4045 ? 99.9974+-0.2832 ? richards 106.5960+-0.5031 106.3134+-0.8253 ^ 99.7352+-0.9259 99.6404+-0.7277 ^ definitely 1.0698x faster splay 45.7986+-0.4156 ? 45.9906+-0.5483 45.7698+-0.3045 ? 46.1683+-0.4268 ? <arithmetic> 77.3647+-0.1926 ? 77.6810+-0.2148 ERROR ERROR <geometric> * 72.9295+-0.2042 ? 73.2465+-0.1829 ERROR ERROR <harmonic> 68.1544+-0.2203 ? 68.4564+-0.1644 ERROR ERROR TipOfTree FixCheckExec FTL FTLFixCheckExec FTLFixCheckExec v. TipOfTree Octane and V8v7: encrypt 0.46289+-0.00030 ? 0.46350+-0.00032 ^ 0.43812+-0.00053 0.43791+-0.00036 ^ definitely 1.0570x faster decrypt 8.59542+-0.00463 ? 8.59897+-0.00528 ^ 8.18383+-0.07441 8.16628+-0.07131 ^ definitely 1.0525x faster deltablue x2 0.55008+-0.00372 ? 0.55329+-0.00374 ^ 0.53175+-0.00420 ? 0.53747+-0.00425 ^ definitely 1.0235x faster earley 0.87369+-0.01002 0.87130+-0.01126 ? 0.88252+-0.00764 0.87224+-0.00330 boyer 12.07404+-0.16278 11.96265+-0.03956 11.95029+-0.05026 ? 11.98773+-0.09106 raytrace x2 4.10093+-0.05349 4.05793+-0.03908 ^ 3.91427+-0.03099 3.89004+-0.01975 ^ definitely 1.0542x faster regexp x2 30.90304+-0.35589 30.86938+-0.06520 ! 31.08260+-0.05052 ! 31.34586+-0.19360 ? might be 1.0143x slower richards x2 0.28934+-0.00287 ? 0.29475+-0.00612 ^ 0.22550+-0.00266 0.22443+-0.00186 ^ definitely 1.2892x faster splay x2 0.63324+-0.00251 0.63163+-0.00326 0.62653+-0.00297 0.62606+-0.00279 ^ definitely 1.0115x faster navier-stokes x2 10.51788+-0.01038 10.50962+-0.00407 ^ 8.22200+-0.00744 ? 8.22432+-0.00864 ^ definitely 1.2789x faster closure 0.76716+-0.00299 ? 0.77229+-0.00254 ? 0.77327+-0.00981 ? 0.77550+-0.00145 ! definitely 1.0109x slower jquery 10.77678+-0.05639 ? 10.86254+-0.07300 10.82574+-0.04861 ? 11.07337+-0.33894 ? might be 1.0275x slower gbemu x2 65.35265+-0.45528 65.20059+-0.47422 ! 84.21323+-0.43865 83.79444+-0.28540 ! definitely 1.2822x slower mandreel x2 131.97772+-0.30278 ? 132.00316+-0.44022 ^ 102.05415+-0.49589 101.69215+-0.46442 ^ definitely 1.2978x faster pdfjs x2 99.94091+-0.40322 ? 100.06777+-0.52117 ? 100.68009+-0.74764 ? 100.94133+-0.94865 ? might be 1.0100x slower box2d x2 31.90217+-0.26346 31.87279+-0.21485 ? 32.08027+-0.18282 ? 32.28119+-0.26209 ? might be 1.0119x slower V8v7: <arithmetic> 7.24969+-0.04559 7.23310+-0.01026 ^ 6.91626+-0.00869 ? 6.94753+-0.02264 ^ definitely 1.0435x faster <geometric> * 2.33041+-0.00579 ? 2.33165+-0.00631 ^ 2.15318+-0.00434 ? 2.15377+-0.00527 ^ definitely 1.0820x faster <harmonic> 0.89113+-0.00377 ? 0.89771+-0.00745 ^ 0.78955+-0.00374 0.78876+-0.00391 ^ definitely 1.1298x faster Octane including V8v7: <arithmetic> 30.22638+-0.04586 30.21743+-0.04706 ^ 29.24287+-0.07293 ? 29.24721+-0.09057 ^ definitely 1.0335x faster <geometric> * 6.81785+-0.01157 ? 6.82295+-0.01093 ^ 6.50169+-0.01185 ? 6.50915+-0.01641 ^ definitely 1.0474x faster <harmonic> 1.33473+-0.00518 ? 1.34445+-0.01038 ^ 1.19397+-0.00581 1.19320+-0.00558 ^ definitely 1.1186x faster TipOfTree FixCheckExec FTL FTLFixCheckExec FTLFixCheckExec v. TipOfTree Kraken: ai-astar 494.319+-0.700 494.167+-0.853 ? 495.698+-2.165 494.167+-0.686 audio-beat-detection 222.366+-0.989 221.979+-1.041 221.894+-0.727 ? 222.054+-1.102 audio-dft 296.747+-6.281 293.184+-3.295 ? 294.843+-2.885 293.814+-2.574 audio-fft 129.855+-0.283 129.569+-0.121 ? 129.689+-0.272 129.656+-0.158 audio-oscillator 245.171+-0.576 245.094+-0.515 ! 537.892+-0.728 ^ 532.452+-2.098 ! definitely 2.1718x slower imaging-darkroom 285.095+-0.608 ? 286.775+-4.144 ! 297.879+-0.368 297.404+-0.631 ! definitely 1.0432x slower imaging-desaturate 154.395+-0.242 154.257+-0.120 ^ 109.583+-0.188 ? 109.612+-0.121 ^ definitely 1.4086x faster imaging-gaussian-blur 362.650+-0.259 ? 362.732+-0.636 ^ 193.343+-5.497 191.306+-1.048 ^ definitely 1.8956x faster json-parse-financial 79.629+-0.456 ! 80.538+-0.250 ^ 79.474+-0.527 ! 80.448+-0.305 ! definitely 1.0103x slower json-stringify-tinderbox 104.985+-1.503 ! 107.654+-0.967 ^ 104.224+-0.486 ! 107.990+-0.833 ! definitely 1.0286x slower stanford-crypto-aes 90.920+-0.824 ? 91.609+-0.833 ? 92.861+-0.538 ? 93.653+-0.781 ! definitely 1.0301x slower stanford-crypto-ccm 101.347+-1.270 ? 102.036+-1.510 99.192+-2.087 ? 101.368+-1.975 ? stanford-crypto-pbkdf2 267.095+-3.369 266.384+-4.898 ? 269.124+-3.196 ? 269.984+-10.062 ? might be 1.0108x slower stanford-crypto-sha256-iterative 114.432+-0.592 ? 115.015+-1.035 114.963+-0.765 ? 115.131+-0.407 ? <arithmetic> * 210.643+-0.554 ? 210.785+-0.398 ! 217.190+-0.493 217.074+-0.784 ! definitely 1.0305x slower <geometric> 180.509+-0.486 ? 181.047+-0.267 ^ 178.622+-0.537 ? 179.313+-0.606 ^ definitely 1.0067x faster <harmonic> 155.807+-0.478 ! 156.693+-0.210 ^ 151.189+-0.540 ! 152.383+-0.486 ^ definitely 1.0225x faster TipOfTree FixCheckExec FTL FTLFixCheckExec FTLFixCheckExec v. TipOfTree JSRegress: adapt-to-double-divide 22.7682+-0.0842 ? 22.7700+-0.0490 ^ 20.6226+-0.3619 ? 20.6627+-0.2669 ^ definitely 1.1019x faster aliased-arguments-getbyval 0.9995+-0.0183 ? 0.9999+-0.0095 ? 1.0020+-0.0133 ? 1.0083+-0.0160 ? allocate-big-object 2.6777+-0.0180 2.6651+-0.0105 ! 2.8533+-0.0822 2.8448+-0.0200 ! definitely 1.0624x slower arity-mismatch-inlining 0.9615+-0.0033 ? 0.9616+-0.0066 ? 1.0265+-0.0600 1.0112+-0.0513 ? might be 1.0517x slower array-access-polymorphic-structure 9.8414+-0.1188 9.8241+-0.0974 ? 9.9389+-0.1009 9.7885+-0.0562 array-nonarray-polymorhpic-access 59.5282+-4.5299 57.5471+-0.7717 57.2016+-0.2110 ? 59.2874+-4.6376 array-with-double-add 5.7420+-0.0568 ? 5.7548+-0.0110 5.7448+-0.0676 ? 5.7541+-0.0458 ? array-with-double-increment 4.4320+-0.0134 ? 4.4348+-0.0280 4.4123+-0.0058 4.3922+-0.0627 array-with-double-mul-add 6.8831+-0.0607 6.8156+-0.0771 6.8063+-0.1089 ? 6.9208+-0.0751 ? array-with-double-sum 7.9883+-0.0682 7.8912+-0.0849 ? 8.0315+-0.0841 7.9849+-0.0614 array-with-int32-add-sub 10.5358+-0.1288 ? 10.5862+-0.1539 10.5406+-0.0965 10.4942+-0.1624 array-with-int32-or-double-sum 8.0154+-0.0921 ? 8.0649+-0.1073 8.0245+-0.0903 ? 8.0549+-0.0580 ? ArrayBuffer-DataView-alloc-large-long-lived 117.7346+-0.7914 ? 118.0430+-1.2562 117.1815+-0.9077 ? 118.0196+-0.7448 ? ArrayBuffer-DataView-alloc-long-lived 30.7802+-0.2620 ? 30.8670+-0.2050 30.5606+-0.2519 ? 30.6614+-0.0937 ArrayBuffer-Int32Array-byteOffset 5.8847+-0.0598 ? 5.9108+-0.0393 5.8876+-0.0416 5.8325+-0.0841 ArrayBuffer-Int8Array-alloc-huge-long-lived 210.7763+-2.1090 209.7242+-1.7235 209.6220+-2.5829 ? 209.7376+-1.2637 ArrayBuffer-Int8Array-alloc-large-long-lived-fragmented 164.8741+-1.3105 ? 165.1981+-0.7583 ? 166.1098+-1.5846 ? 166.2246+-1.1920 ? ArrayBuffer-Int8Array-alloc-large-long-lived 120.1937+-1.5741 119.5600+-1.4763 ? 120.4385+-1.0980 ? 121.2920+-1.4191 ? ArrayBuffer-Int8Array-alloc-long-lived-buffer 47.9963+-1.0011 ? 48.8702+-0.9466 48.1947+-0.3078 ! 49.1562+-0.1312 ! definitely 1.0242x slower ArrayBuffer-Int8Array-alloc-long-lived 29.2494+-0.2238 ? 29.6226+-0.1851 ? 29.7337+-0.2291 ? 29.8980+-0.3006 ! definitely 1.0222x slower ArrayBuffer-Int8Array-alloc 26.3542+-0.1047 ? 26.8992+-0.4720 ^ 26.1447+-0.1414 ! 26.5419+-0.1020 ? asmjs_bool_bug 9.5250+-0.0756 ? 9.5845+-0.1046 ! 9.8651+-0.0989 ? 9.8868+-0.0850 ! definitely 1.0380x slower basic-set 20.9407+-0.1507 ? 21.1514+-0.2043 ! 21.7297+-0.1512 ? 21.9773+-0.1870 ! definitely 1.0495x slower big-int-mul 5.5760+-0.0300 5.5440+-0.0653 ! 6.5515+-0.1733 6.5450+-0.0677 ! definitely 1.1738x slower boolean-test 4.4179+-0.0546 4.3997+-0.0292 4.3961+-0.0232 ? 4.3967+-0.0287 branch-fold 4.9258+-0.0089 ? 4.9313+-0.0110 ? 4.9378+-0.0137 4.9230+-0.0143 by-val-generic 12.6362+-0.2212 12.6137+-0.1330 ? 12.8072+-0.0970 12.7515+-0.0609 ? captured-assignments 0.5886+-0.0052 ? 0.5895+-0.0045 ? 0.5953+-0.0161 ? 0.6079+-0.0355 ? might be 1.0328x slower cast-int-to-double 12.3472+-0.0966 ? 12.3927+-0.1260 ? 12.6016+-0.1030 ? 12.6234+-0.0665 ! definitely 1.0224x slower cell-argument 14.5278+-0.1023 ! 14.8374+-0.1195 ^ 11.8671+-0.1957 11.8562+-0.2323 ^ definitely 1.2253x faster cfg-simplify 3.9913+-0.0107 3.9877+-0.0066 ? 4.0162+-0.0548 4.0063+-0.0411 ? chain-custom-getter 785.7201+-4.7544 774.9294+-13.9247 ! 928.7588+-19.3011 ? 930.7358+-19.7532 ! definitely 1.1846x slower chain-getter-access 539.8118+-9.0362 ! 573.9733+-8.9855 ? 578.6847+-7.1547 ! 620.3259+-2.3922 ! definitely 1.1492x slower cmpeq-obj-to-obj-other 13.0906+-0.4676 ? 14.1458+-2.1807 ? 16.3955+-0.5252 ? 16.4952+-0.3963 ! definitely 1.2601x slower constant-test 8.5434+-0.0724 8.5324+-0.0957 ? 8.6555+-0.1061 ? 8.6816+-0.0436 ! definitely 1.0162x slower DataView-custom-properties 125.2718+-0.7239 ? 125.8856+-1.0729 124.9971+-0.6608 ? 126.0068+-0.6301 ? delay-tear-off-arguments-strictmode 3.5699+-0.0110 ? 3.5699+-0.0064 ? 3.5872+-0.0337 ? 3.5913+-0.0082 ! definitely 1.0060x slower destructuring-arguments-length 185.0263+-27.8906 179.5193+-5.5981 ^ 172.1504+-1.6535 ! 177.7067+-1.2775 might be 1.0412x faster destructuring-arguments 8.8659+-0.0897 ? 8.8792+-0.1078 8.8020+-0.1252 ? 8.8587+-0.0821 destructuring-swap 8.6755+-0.0886 ? 8.7834+-0.0815 8.7769+-0.0835 8.7628+-0.0858 ? might be 1.0101x slower direct-arguments-getbyval 0.8704+-0.0242 0.8558+-0.0063 ? 0.8573+-0.0059 ? 0.8611+-0.0059 might be 1.0109x faster double-get-by-val-out-of-bounds 7.7149+-0.5972 7.3409+-0.0868 ! 7.7952+-0.1916 ? 7.9471+-0.1824 ? might be 1.0301x slower double-pollution-getbyval 11.0939+-0.1019 11.0723+-0.1032 ! 11.4652+-0.0490 ? 11.5111+-0.1108 ! definitely 1.0376x slower double-pollution-putbyoffset 6.0324+-0.0561 5.9981+-0.0417 ! 6.3926+-0.0468 6.3822+-0.0247 ! definitely 1.0580x slower double-to-int32-typed-array-no-inline 2.6492+-0.0529 ? 2.6603+-0.0438 ! 3.0187+-0.0574 2.9813+-0.0194 ! definitely 1.1254x slower double-to-int32-typed-array 2.2313+-0.0193 2.2289+-0.0077 2.2258+-0.0086 ? 2.2376+-0.0231 ? double-to-uint32-typed-array-no-inline 2.6911+-0.0091 ? 2.6972+-0.0069 ! 3.0754+-0.0133 ! 3.1152+-0.0254 ! definitely 1.1576x slower double-to-uint32-typed-array 2.3737+-0.0062 ? 2.3837+-0.0099 ? 2.3868+-0.0245 ? 2.3905+-0.0098 ! definitely 1.0071x slower empty-string-plus-int 10.7057+-0.1277 ? 10.9320+-0.1384 10.7168+-0.1107 ? 10.9085+-0.0954 ? might be 1.0190x slower emscripten-cube2hash 54.9446+-0.3880 54.6385+-0.1356 ! 55.4715+-0.4426 ? 55.7242+-0.3169 ! definitely 1.0142x slower emscripten-memops 7061.3607+-4.1728 ? 7070.3717+-17.8514 ^ 2437.1325+-4.2583 ? 2437.2468+-5.3392 ^ definitely 2.8973x faster external-arguments-getbyval 2.0317+-0.0138 ? 2.0661+-0.0277 2.0543+-0.0417 ? 2.0822+-0.0371 ? might be 1.0249x slower external-arguments-putbyval 3.0534+-0.0146 ? 3.0889+-0.0383 3.0786+-0.0668 3.0705+-0.0221 ? fixed-typed-array-storage-var-index 1.3686+-0.0048 ? 1.3718+-0.0035 ! 1.4488+-0.0574 1.4121+-0.0062 ! definitely 1.0318x slower fixed-typed-array-storage 1.0045+-0.0170 0.9928+-0.0108 ! 1.0230+-0.0079 ? 1.0450+-0.0492 ? might be 1.0403x slower Float32Array-matrix-mult 6.5426+-0.0274 ? 6.5445+-0.0301 ? 6.6799+-0.1270 ? 6.8240+-0.1373 ! definitely 1.0430x slower Float32Array-to-Float64Array-set 92.1776+-0.6055 ? 92.8438+-1.7705 92.4980+-0.7805 91.0309+-0.8654 might be 1.0126x faster Float64Array-alloc-long-lived 102.1573+-0.3997 ? 102.2274+-0.7198 ? 102.5580+-0.5562 102.2887+-0.4180 ? Float64Array-to-Int16Array-set 118.6215+-0.3266 ! 119.2333+-0.2850 ^ 118.2244+-0.6123 ? 118.9777+-0.3216 ? fold-double-to-int 22.6026+-0.1833 ? 22.6584+-0.1644 ^ 20.0281+-0.1372 19.9190+-0.0526 ^ definitely 1.1347x faster for-of-iterate-array-entries 8.7549+-0.0892 8.6857+-0.0663 ? 8.7622+-0.1105 8.6423+-0.1088 might be 1.0130x faster for-of-iterate-array-keys 3.4925+-0.0710 3.4752+-0.0583 3.4688+-0.0568 3.4669+-0.0421 for-of-iterate-array-values 2.9918+-0.0808 2.9740+-0.0598 ? 2.9776+-0.0503 ? 2.9842+-0.0660 function-dot-apply 3.0044+-0.0038 3.0035+-0.0042 ! 3.8615+-0.0173 ? 3.8687+-0.0211 ! definitely 1.2877x slower function-test 4.9180+-0.0906 4.8993+-0.1110 4.8900+-0.0458 4.8284+-0.0533 might be 1.0186x faster get-by-id-chain-from-try-block 8.0522+-0.0681 ? 8.0712+-0.0357 7.9800+-0.1229 ? 8.0563+-0.0701 ? get-by-id-proto-or-self 23.0795+-0.3241 ? 23.7317+-0.3487 ! 27.6522+-0.3594 ? 27.8814+-0.6046 ! definitely 1.2081x slower get-by-id-self-or-proto 24.0378+-0.6304 ? 24.3442+-0.5002 ! 29.3991+-0.6363 29.0856+-0.5352 ! definitely 1.2100x slower get-by-val-out-of-bounds 7.7682+-0.3857 ^ 7.2262+-0.1268 ? 7.5412+-0.2463 ? 7.7521+-0.3003 get_callee_monomorphic 4.7619+-0.1050 ^ 4.3965+-0.0272 ! 5.3801+-0.0594 ^ 4.6175+-0.0115 ^ definitely 1.0313x faster get_callee_polymorphic 4.5210+-0.0182 ! 4.5777+-0.0289 ! 5.0017+-0.0153 ? 5.0393+-0.0435 ! definitely 1.1146x slower global-var-const-infer-fire-from-opt 0.9822+-0.0134 0.9691+-0.0074 ? 0.9959+-0.0470 ? 1.0330+-0.0504 ? might be 1.0518x slower global-var-const-infer 0.7758+-0.0092 ? 0.7769+-0.0043 ! 0.9594+-0.0088 ? 0.9626+-0.0089 ! definitely 1.2408x slower HashMap-put-get-iterate-keys 41.6363+-0.1710 ? 41.7726+-0.1493 ! 42.1134+-0.1477 ? 42.1417+-0.1517 ! definitely 1.0121x slower HashMap-put-get-iterate 56.7378+-0.2768 ! 58.6771+-1.2814 ? 59.0423+-0.5452 ? 59.1075+-1.4629 ! definitely 1.0418x slower HashMap-string-put-get-iterate 51.6584+-0.2903 ! 53.5354+-0.4997 ^ 52.5642+-0.3323 ? 53.2216+-0.3419 ! definitely 1.0303x slower imul-double-only 18.1411+-0.1315 ? 18.1673+-0.1255 ^ 10.5522+-0.3367 ? 10.8551+-0.5028 ^ definitely 1.6712x faster imul-int-only 14.8410+-0.1286 ? 15.0529+-0.1703 ! 16.0874+-0.0982 ? 16.1007+-0.2660 ! definitely 1.0849x slower imul-mixed 22.9689+-0.7543 ? 23.2639+-1.1164 ^ 11.9964+-0.3117 11.8530+-0.5193 ^ definitely 1.9378x faster in-four-cases 25.9466+-0.0866 ? 26.0591+-0.2230 25.8700+-0.0818 ? 25.8857+-0.0620 in-one-case-false 12.4495+-0.1328 ? 12.5667+-0.1358 12.5073+-0.1020 ? 12.5233+-0.0801 ? in-one-case-true 12.4437+-0.1172 ? 12.5248+-0.1059 12.4097+-0.1463 ? 12.4690+-0.0928 ? in-two-cases 13.3238+-0.1046 13.3067+-0.0960 13.2787+-0.0785 13.2167+-0.1045 indexed-properties-in-objects 4.1182+-0.0471 ? 4.1316+-0.0497 ! 4.5095+-0.0668 ! 4.6158+-0.0231 ! definitely 1.1209x slower infer-closure-const-then-mov-no-inline 4.8186+-0.0466 4.8152+-0.0449 ! 5.8540+-0.0210 5.8273+-0.0368 ! definitely 1.2093x slower infer-closure-const-then-mov 28.9272+-0.1153 ? 28.9407+-0.0610 ! 29.1231+-0.0767 29.0886+-0.0864 ? infer-closure-const-then-put-to-scope-no-inline 15.4231+-0.1136 15.4051+-0.0551 ! 16.5770+-0.1529 ? 16.6068+-0.1158 ! definitely 1.0767x slower infer-closure-const-then-put-to-scope 35.9636+-0.1377 35.9612+-0.1766 35.9013+-0.1805 ? 36.1146+-0.2866 ? infer-closure-const-then-reenter-no-inline 80.3116+-0.1119 ? 80.3620+-0.0557 ! 81.4963+-0.0851 81.4940+-0.1035 ! definitely 1.0147x slower infer-closure-const-then-reenter 36.0927+-0.2258 36.0251+-0.2405 36.0079+-0.2111 ? 36.0280+-0.1931 infer-one-time-closure-ten-vars 29.0254+-0.1060 28.9932+-0.0923 ^ 18.3215+-0.3914 ? 18.5302+-0.2376 ^ definitely 1.5664x faster infer-one-time-closure-two-vars 28.8340+-0.1427 ? 28.8396+-0.1377 ^ 18.1955+-0.1089 17.9840+-0.3017 ^ definitely 1.6033x faster infer-one-time-closure 28.7838+-0.1448 28.6645+-0.1311 ^ 17.9581+-0.3049 17.9373+-0.2984 ^ definitely 1.6047x faster infer-one-time-deep-closure 56.9215+-0.1426 ? 56.9938+-0.1187 ^ 29.2010+-0.2192 29.1772+-0.2230 ^ definitely 1.9509x faster inline-arguments-access 1.6638+-0.0073 ! 1.6992+-0.0281 ? 1.7437+-0.0642 1.7119+-0.0212 ! definitely 1.0289x slower inline-arguments-aliased-access 1.8123+-0.0159 ? 1.8227+-0.0333 1.8007+-0.0055 ? 1.8376+-0.0520 ? might be 1.0139x slower inline-arguments-local-escape 22.3928+-0.1509 ! 23.8595+-0.4099 ^ 22.4605+-0.2118 ! 23.8054+-0.1706 ! definitely 1.0631x slower inline-get-scoped-var 7.4903+-0.0997 ? 7.4991+-0.0615 ? 7.6285+-0.1282 7.5798+-0.0621 ? might be 1.0120x slower inlined-put-by-id-transition 15.4001+-0.1493 15.2264+-0.2160 ? 16.1427+-1.3546 15.9469+-1.1562 ? might be 1.0355x slower int-or-other-abs-then-get-by-val 9.3115+-0.1159 ? 9.3493+-0.1389 ? 9.4963+-0.0733 9.4457+-0.1152 ? might be 1.0144x slower int-or-other-abs-zero-then-get-by-val 39.3368+-0.3829 ^ 38.3810+-0.5372 37.9797+-0.1634 ? 38.1994+-0.1555 ^ definitely 1.0298x faster int-or-other-add-then-get-by-val 9.7096+-0.1276 ? 9.7123+-0.1243 ? 9.8217+-0.0884 9.7853+-0.1049 ? int-or-other-add 10.9070+-0.0720 ? 11.0251+-0.0920 ? 11.1535+-0.1209 11.1291+-0.0695 ! definitely 1.0204x slower int-or-other-div-then-get-by-val 6.3979+-0.0221 6.3557+-0.1153 ? 6.4233+-0.0885 ? 6.5078+-0.0498 ! definitely 1.0172x slower int-or-other-max-then-get-by-val 8.6165+-0.1613 ? 8.6944+-0.1590 ^ 8.3965+-0.1249 ? 8.4291+-0.1080 might be 1.0222x faster int-or-other-min-then-get-by-val 7.2387+-0.1081 7.1911+-0.1257 ! 7.4316+-0.0811 7.4228+-0.0517 ! definitely 1.0254x slower int-or-other-mod-then-get-by-val 6.0687+-0.0971 ? 6.0834+-0.0940 ? 6.1592+-0.0871 6.1136+-0.0809 ? int-or-other-mul-then-get-by-val 6.4042+-0.0742 6.3649+-0.0853 ? 6.4840+-0.0927 6.4405+-0.0210 ? int-or-other-neg-then-get-by-val 8.2224+-0.0811 ? 8.2599+-0.0666 ? 8.3339+-0.0423 8.2959+-0.1395 ? int-or-other-neg-zero-then-get-by-val 38.8593+-0.1193 38.3467+-0.4383 ^ 37.5436+-0.1245 ? 37.6920+-0.2932 ^ definitely 1.0310x faster int-or-other-sub-then-get-by-val 10.1507+-0.0972 10.0791+-0.1102 ? 10.1676+-0.1080 ? 10.2367+-0.1135 ? int-or-other-sub 8.9234+-0.1088 8.8191+-0.0789 ! 8.9905+-0.0747 8.9876+-0.0533 ? int-overflow-local 6.3711+-0.0917 ? 6.3978+-0.0743 ? 6.4485+-0.0255 6.4462+-0.0666 ? might be 1.0118x slower Int16Array-alloc-long-lived 67.2349+-0.3082 ? 67.6126+-0.4627 ? 67.7252+-0.3948 ? 68.0738+-1.2113 ? might be 1.0125x slower Int16Array-bubble-sort-with-byteLength 48.5761+-0.1561 ? 48.7672+-0.5835 ^ 47.7909+-0.3105 47.7251+-0.0964 ^ definitely 1.0178x faster Int16Array-bubble-sort 48.5637+-0.2037 48.4744+-0.0670 ? 48.7266+-0.7315 48.5449+-0.7399 Int16Array-load-int-mul 1.8152+-0.0053 ? 1.8210+-0.0150 ! 1.9589+-0.0741 ? 2.0267+-0.0835 ! definitely 1.1165x slower Int16Array-to-Int32Array-set 86.8397+-1.7401 ! 92.4728+-1.0978 ^ 86.9999+-2.0459 ! 92.9760+-1.3973 ! definitely 1.0707x slower Int32Array-alloc-huge-long-lived 712.2728+-17.2541 709.3384+-3.6399 ? 709.3982+-3.1097 706.7303+-2.2527 Int32Array-alloc-huge 811.0125+-5.7769 ? 812.0178+-5.9389 803.7876+-8.7713 ? 811.6374+-5.1956 ? Int32Array-alloc-large-long-lived 976.4769+-10.0124 973.3675+-6.9126 971.8263+-9.8685 970.0762+-7.5081 Int32Array-alloc-large 44.7758+-0.8626 ? 45.1868+-0.8895 ? 45.6393+-0.8795 44.6207+-0.9048 Int32Array-alloc-long-lived 79.9903+-0.5596 ? 80.4180+-0.4090 80.2055+-0.3686 ? 80.3152+-0.3844 ? Int32Array-alloc 4.6545+-0.0095 ? 4.6548+-0.0131 ^ 4.5169+-0.0062 ? 4.5177+-0.0118 ^ definitely 1.0303x faster Int32Array-Int8Array-view-alloc 14.7580+-0.0810 ! 14.9585+-0.0824 ^ 14.7243+-0.0918 ! 15.0699+-0.0836 ! definitely 1.0211x slower int52-spill 11.2817+-0.1498 ! 12.3247+-0.0762 ^ 11.5361+-0.1466 ! 12.6296+-0.1477 ! definitely 1.1195x slower Int8Array-alloc-long-lived 65.9457+-0.5621 65.7803+-0.5776 ? 66.0222+-0.5005 ? 66.2208+-0.5245 ? Int8Array-load-with-byteLength 5.0613+-0.0468 ? 5.0779+-0.0103 ! 5.2982+-0.0614 5.1465+-0.1519 ? might be 1.0168x slower Int8Array-load 5.1014+-0.0191 5.0769+-0.0121 ? 5.1667+-0.1065 ? 5.1683+-0.0942 ? might be 1.0131x slower integer-divide 15.3657+-0.1359 ? 15.3684+-0.1156 ? 15.5246+-0.0669 15.4351+-0.1376 ? integer-modulo 2.0304+-0.0098 2.0278+-0.0240 ! 2.5364+-0.0278 ? 2.5771+-0.0335 ! definitely 1.2693x slower large-int-captured 9.7647+-0.1353 9.5948+-0.5842 ? 10.0499+-0.1491 ^ 9.3074+-0.1700 ^ definitely 1.0491x faster large-int-neg 26.3621+-0.2970 ? 26.4509+-0.2193 ^ 25.3733+-0.1781 ? 25.3838+-0.1449 ^ definitely 1.0385x faster large-int 23.9165+-0.1025 23.8443+-0.2725 ^ 22.1670+-0.1570 22.0733+-0.1522 ^ definitely 1.0835x faster logical-not 5.7751+-0.0107 ? 5.7830+-0.0770 ! 6.3733+-0.0498 6.3572+-0.0855 ! definitely 1.1008x slower lots-of-fields 11.0189+-0.0398 10.9742+-0.0993 10.8486+-0.0995 ? 10.9960+-0.0884 make-indexed-storage 4.2648+-0.0215 ? 4.2733+-0.0179 ! 4.6584+-0.0625 ? 4.7080+-0.1105 ! definitely 1.1039x slower make-rope-cse 5.9769+-0.0791 ? 6.0621+-0.0697 6.0182+-0.0726 ? 6.0840+-0.0426 ? might be 1.0179x slower marsaglia-larger-ints 116.9496+-0.2246 ? 117.0748+-0.2536 ^ 54.0457+-0.2927 ? 54.2396+-0.2088 ^ definitely 2.1562x faster marsaglia-osr-entry 46.9667+-0.0955 46.9050+-0.1828 ^ 32.0281+-0.1637 ? 32.0327+-0.2502 ^ definitely 1.4662x faster marsaglia 462.8059+-0.5197 462.5735+-0.6252 ^ 282.5758+-0.7912 ? 282.7220+-0.7813 ^ definitely 1.6370x faster method-on-number 30.6934+-0.6263 ? 31.1495+-0.8311 30.8765+-0.4087 ? 30.9382+-0.6069 ? negative-zero-divide 0.4166+-0.0027 ? 0.4204+-0.0110 0.4170+-0.0037 ? 0.4173+-0.0037 ? negative-zero-modulo 0.4099+-0.0182 0.4028+-0.0037 0.4010+-0.0019 ? 0.4073+-0.0073 negative-zero-negate 0.3951+-0.0178 0.3847+-0.0024 ? 0.3868+-0.0038 0.3853+-0.0039 might be 1.0253x faster nested-function-parsing-random 384.8512+-0.6386 383.6837+-0.9574 ? 385.0830+-1.3577 383.5749+-0.5080 ^ definitely 1.0033x faster nested-function-parsing 47.2764+-0.1489 ? 47.4376+-0.1488 47.3145+-0.0846 ! 47.5951+-0.1616 ! definitely 1.0067x slower new-array-buffer-dead 3.7576+-0.0143 ? 3.7671+-0.0254 ! 4.0556+-0.0752 4.0192+-0.0776 ! definitely 1.0696x slower new-array-buffer-push 10.6301+-0.1276 10.6096+-0.1660 ? 10.6493+-0.1333 ? 10.7690+-0.1074 ? might be 1.0131x slower new-array-dead 28.5463+-0.1586 ? 28.5797+-0.0951 ^ 17.4819+-0.1753 ? 17.5460+-0.1534 ^ definitely 1.6269x faster new-array-push 6.9432+-0.0737 ? 6.9521+-0.0559 ! 7.3121+-0.0603 7.2932+-0.0555 ! definitely 1.0504x slower number-test 4.3265+-0.0176 ? 4.3381+-0.0238 4.3135+-0.0138 ? 4.3151+-0.0273 object-closure-call 12.9492+-0.1032 12.5276+-1.0282 ! 14.3364+-0.1392 13.1934+-1.6985 ? might be 1.0189x slower object-test 4.6861+-0.0502 ? 4.6964+-0.0464 4.6663+-0.0046 ? 4.6996+-0.0626 ? poly-stricteq 79.7288+-0.3306 ? 80.0933+-0.5188 ? 81.7341+-2.1637 79.6055+-0.3308 polymorphic-structure 26.0527+-0.0745 ? 26.0877+-0.0806 ! 26.2974+-0.0551 ? 26.3709+-0.0762 ! definitely 1.0122x slower polyvariant-monomorphic-get-by-id 12.7833+-0.1504 12.7353+-0.0909 ! 12.9660+-0.1018 12.8403+-0.1122 ? proto-custom-getter 593.6379+-17.9362 583.3150+-10.8249 ! 747.0965+-17.6511 ? 753.3169+-13.1491 ! definitely 1.2690x slower proto-getter-access 452.9693+-6.3546 451.8937+-3.4632 ! 502.0115+-4.3053 ! 512.5396+-3.9269 ! definitely 1.1315x slower put-by-id 19.4384+-0.3097 19.2197+-0.3895 ? 19.6048+-0.2843 ? 19.6688+-0.2445 ? might be 1.0119x slower put-by-val-large-index-blank-indexing-type 11.0238+-0.0762 ! 11.4510+-0.1161 ^ 10.9587+-0.0882 ! 11.3981+-0.0807 ! definitely 1.0340x slower put-by-val-machine-int 4.0043+-0.0150 ? 4.0149+-0.0161 4.0118+-0.0592 3.9206+-0.0919 might be 1.0213x faster rare-osr-exit-on-local 20.4200+-0.1123 20.3313+-0.1698 ! 22.6434+-0.4076 22.4200+-0.3201 ! definitely 1.0979x slower register-pressure-from-osr 30.5567+-0.1513 ? 30.6169+-0.1751 ! 33.2118+-0.1181 33.1870+-0.1327 ! definitely 1.0861x slower simple-activation-demo 35.1231+-0.0930 ^ 34.4927+-0.1168 ! 35.3384+-0.0933 ^ 34.7324+-0.1153 ^ definitely 1.0113x faster simple-custom-getter 666.5453+-0.3841 666.4794+-0.1786 ? 675.0518+-18.8179 ? 690.2691+-37.7701 ? might be 1.0356x slower simple-getter-access 414.1193+-8.3103 ? 420.3711+-9.9774 420.2833+-7.5859 ? 420.3192+-5.4244 ? might be 1.0150x slower slow-array-profile-convergence 3.9607+-0.0360 3.9519+-0.0170 ! 4.0828+-0.0744 ? 4.1407+-0.1294 ! definitely 1.0455x slower slow-convergence 4.3491+-0.0344 4.3383+-0.0212 4.3130+-0.0521 ? 4.3756+-0.0399 ? sparse-conditional 1.3927+-0.0210 1.3831+-0.0174 ? 1.4284+-0.0435 ? 1.4642+-0.0747 ? might be 1.0513x slower splice-to-remove 77.0413+-0.1601 ? 77.2592+-0.1044 77.0603+-0.1105 ? 77.1806+-0.0956 ? stepanov_container 10159.7774+-65.3852 ? 10220.2766+-78.6030 ^ 9354.9991+-63.7988 9322.8393+-50.0231 ^ definitely 1.0898x faster string-concat-object 3.0427+-0.0166 ? 3.0438+-0.0246 ? 3.0453+-0.0313 3.0359+-0.0148 string-concat-pair-object 2.9838+-0.0242 2.9634+-0.0203 ? 2.9697+-0.0256 ? 2.9861+-0.0173 ? string-concat-pair-simple 16.7938+-0.3177 16.5605+-0.3424 ? 16.8059+-0.3725 ? 17.1277+-0.1210 ? might be 1.0199x slower string-concat-simple 16.8822+-0.3542 16.7658+-0.3869 ? 16.8919+-0.3541 ? 17.0646+-0.2469 ? might be 1.0108x slower string-cons-repeat 10.5060+-0.0225 ? 10.5758+-0.1464 10.4854+-0.0267 ? 10.5618+-0.0776 ? string-cons-tower 11.3373+-0.0350 ? 11.3825+-0.0610 ? 11.3983+-0.0095 ? 11.4053+-0.0533 ? string-equality 43.4208+-0.1582 ! 44.2858+-0.6599 43.4949+-0.3677 ? 44.5021+-0.6905 ! definitely 1.0249x slower string-get-by-val-big-char 12.7086+-0.0733 ! 13.1123+-0.1092 ! 13.9976+-0.1066 ! 14.3728+-0.1094 ! definitely 1.1310x slower string-get-by-val-out-of-bounds-insane 6.0124+-0.1766 5.9194+-0.1784 ? 6.0778+-0.0771 ? 6.1631+-0.2043 ? might be 1.0251x slower string-get-by-val-out-of-bounds 5.3922+-0.0196 5.3683+-0.0478 ! 6.8594+-0.0824 6.7498+-0.1168 ! definitely 1.2518x slower string-get-by-val 5.0190+-0.1033 4.9966+-0.0723 ! 5.6904+-0.1145 ? 5.6985+-0.0929 ! definitely 1.1354x slower string-hash 2.7786+-0.0045 ? 2.7906+-0.0136 ! 3.0412+-0.0690 ? 3.0496+-0.0478 ! definitely 1.0975x slower string-long-ident-equality 38.1164+-0.8305 37.8205+-0.1267 ^ 37.4363+-0.1779 ! 38.8120+-0.9259 ? might be 1.0183x slower string-repeat-arith 49.1936+-0.4711 49.0386+-0.6959 ? 49.0423+-0.3158 ^ 48.2684+-0.2258 ^ definitely 1.0192x faster string-sub 99.1313+-0.8025 ^ 97.1266+-0.8017 ! 99.6276+-1.1304 97.8362+-2.2023 might be 1.0132x faster string-test 4.3379+-0.0438 ? 4.3562+-0.0306 4.3453+-0.0150 ? 4.3496+-0.0115 ? string-var-equality 69.5204+-0.1835 ? 69.5653+-0.1227 ? 70.2233+-0.7973 69.9354+-0.8832 ? structure-hoist-over-transitions 3.4157+-0.0235 3.4097+-0.0128 ! 3.8219+-0.0233 3.8125+-0.0148 ! definitely 1.1162x slower switch-char-constant 3.5011+-0.0088 3.5001+-0.0070 ! 3.8187+-0.0180 ! 3.8762+-0.0311 ! definitely 1.1071x slower switch-char 7.8720+-0.0706 ? 7.8813+-0.0371 ! 9.0654+-0.0263 9.0540+-0.0222 ! definitely 1.1501x slower switch-constant 9.3833+-0.1285 9.3124+-0.1122 ! 10.4903+-0.0547 10.4525+-0.1007 ! definitely 1.1140x slower switch-string-basic-big-var 23.8240+-2.2877 23.0140+-2.1795 22.9598+-1.1382 ? 23.8999+-2.8546 ? switch-string-basic-big 21.9469+-1.4260 21.4095+-0.5382 ? 22.0909+-1.4853 ? 23.1126+-1.8493 ? might be 1.0531x slower switch-string-basic-var 20.3468+-0.2810 ? 20.3830+-0.3719 20.2715+-0.1735 ? 20.2721+-0.1563 switch-string-basic 20.7035+-0.9135 ? 21.8971+-1.6131 20.8157+-0.7820 ? 21.2472+-1.4636 ? might be 1.0263x slower switch-string-big-length-tower-var 28.4075+-0.1245 ? 28.4091+-0.0819 28.3831+-0.0624 ? 28.4954+-0.1198 ? switch-string-length-tower-var 21.7140+-0.1489 21.5929+-0.1943 ? 21.6778+-0.2075 21.5660+-0.1404 switch-string-length-tower 16.1853+-0.1390 ? 16.2672+-0.1037 16.2519+-0.1283 16.1598+-0.1448 switch-string-short 16.2066+-0.1151 16.1954+-0.1007 16.1661+-0.1177 ? 16.2183+-0.1559 ? switch 13.6022+-0.1168 13.5781+-0.1266 ! 15.4640+-0.0560 15.4053+-0.0454 ! definitely 1.1326x slower tear-off-arguments-simple 2.3004+-0.0032 ? 2.3087+-0.0076 ^ 2.2863+-0.0049 2.2860+-0.0070 ^ definitely 1.0063x faster tear-off-arguments 3.7057+-0.0107 ? 3.7124+-0.0092 ^ 3.6803+-0.0099 ! 3.7280+-0.0365 ? temporal-structure 17.6721+-0.1345 17.6696+-0.0737 ? 17.7899+-0.1034 17.7532+-0.1096 ? to-int32-boolean 21.4215+-0.1283 21.3370+-0.1172 ? 21.4432+-0.0967 ? 21.4438+-0.1184 ? undefined-test 4.5145+-0.0046 ! 4.5375+-0.0158 4.5185+-0.0123 4.5180+-0.0602 ? weird-inlining-const-prop 2.3183+-0.0555 2.2907+-0.0153 ! 2.7371+-0.0222 2.7308+-0.0131 ! definitely 1.1780x slower <arithmetic> 137.6772+-0.3337 ? 138.1045+-0.3876 ^ 111.8774+-0.3151 ? 112.1940+-0.3232 ^ definitely 1.2271x faster <geometric> * 14.6458+-0.0212 ? 14.6642+-0.0129 ^ 14.5480+-0.0111 ! 14.5896+-0.0166 ^ definitely 1.0038x faster <harmonic> 5.1615+-0.0202 5.1481+-0.0088 ! 5.2916+-0.0204 ? 5.3104+-0.0160 ! definitely 1.0288x slower TipOfTree FixCheckExec FTL FTLFixCheckExec FTLFixCheckExec v. TipOfTree All benchmarks: <arithmetic> 202.0969+-0.3233 ? 202.3499+-0.2921 ERROR ERROR <geometric> 20.2622+-0.0236 ? 20.2886+-0.0128 ERROR ERROR <harmonic> 4.6417+-0.0117 ? 4.6450+-0.0095 ERROR ERROR TipOfTree FixCheckExec FTL FTLFixCheckExec FTLFixCheckExec v. TipOfTree Geomean of preferred means: <scaled-result> 48.2696+-0.0434 ? 48.3408+-0.0363 ERROR ERROR
Filip Pizlo
Comment 5 2014-01-10 21:02:33 PST
Note You need to log in before you can comment on or make changes to this bug.