| Summary: | Do all closed variable access through the local lexical object | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Oliver Hunt <oliver> |
| Component: | New Bugs | Assignee: | Oliver Hunt <oliver> |
| Status: | RESOLVED FIXED | ||
| Severity: | Normal | CC: | buildbot, cdumez, clopez, commit-queue, fpizlo, ggaren, oliver, rniwa |
| Priority: | P2 | ||
| Version: | 528+ (Nightly build) | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Bug Depends on: | 137404, 140306 | ||
| Bug Blocks: | 137357, 141174 | ||
| Attachments: | |||
|
Description
Oliver Hunt
2014-09-16 14:39:33 PDT
Created attachment 238212 [details]
Patch
Initial work, performs all variable reads/writes through the local lexical environment. Doesn't use a single allocation for the environment, isn't writing declared functions through the scope chain. Is annihilating performance - quake tests are ~2.5x slower, simple activation is something like 10x. I'm not sure switching to a single allocation will be enough to compensate for that sort of insanity. Created attachment 238378 [details]
Patch
fixed dumb handling of put_to_scope
Attachment 238378 [details] did not pass style-queue:
ERROR: Source/JavaScriptCore/llint/LLIntData.cpp:146: Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons. [readability/comparison_to_zero] [5]
Total errors found: 1 in 9 files
If any of these errors are false positives, please file a bug against check-webkit-style.
Comment on attachment 238378 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=238378&action=review What's the performance result of this new patch? > Source/JavaScriptCore/bytecode/CodeBlock.cpp:1973 > + if (pc[5].u.operand) { > + instructions[i + 5] = 0; > + break; > + } It looks like you're saying that, if we have a non-local access, we must initialize the structure to null. Why do we need to do this? Why didn't we need to do this before? Why don't we need to this this for local accesses? Comment on attachment 238378 [details]
Patch
(whoops didn't mean it for review - perf still awful :) )
(In reply to comment #5) > (From update of attachment 238378 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=238378&action=review > > What's the performance result of this new patch? > > > Source/JavaScriptCore/bytecode/CodeBlock.cpp:1973 > > + if (pc[5].u.operand) { > > + instructions[i + 5] = 0; > > + break; > > + } > > It looks like you're saying that, if we have a non-local access, we must initialize the structure to null. > > Why do we need to do this? > > Why didn't we need to do this before? > > Why don't we need to this this for local accesses? The structure isn't used for local access, but we use the slot to signify a local access - if we don't clear it the GC then tries to mark what it believes must be a structure* but is actually a bool. That leads to badness. We didn't need to do this before because we always set this to a correct structure or null. Comment on attachment 238378 [details] Patch Attachment 238378 [details] did not pass mac-wk2-ews (mac-wk2): Output: http://webkit-queues.appspot.com/results/4567908147527680 New failing tests: inspector-protocol/debugger/setBreakpoint-options-exception.html js/dom/inc-const-valueOf.html css3/viewport-percentage-lengths/viewport-percentage-lengths-anonymous-block.html inspector-protocol/debugger/didSampleProbe-multiple-probes.html js/dom/const.html css3/viewport-percentage-lengths/viewport-percentage-lengths-resize.html inspector-protocol/debugger/searchInContent-linebreaks.html css3/viewport-percentage-lengths/viewport-percentage-lengths-relative-font-size.html inspector-protocol/debugger/setBreakpoint-actions.html css3/viewport-percentage-lengths/viewport-percentage-lengths-percent-size-child.html inspector-protocol/console/console-message.html Created attachment 238383 [details]
Archive of layout-test-results from webkit-ews-11 for mac-mountainlion-wk2
The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
Bot: webkit-ews-11 Port: mac-mountainlion-wk2 Platform: Mac OS X 10.8.5
Comment on attachment 238378 [details] Patch Attachment 238378 [details] did not pass mac-ews (mac): Output: http://webkit-queues.appspot.com/results/6151593586065408 New failing tests: inspector-protocol/debugger/setBreakpoint-options-exception.html js/dom/inc-const-valueOf.html css3/viewport-percentage-lengths/viewport-percentage-lengths-anonymous-block.html inspector-protocol/debugger/didSampleProbe-multiple-probes.html inspector-protocol/debugger/hit-breakpoint-from-console.html js/dom/const.html css3/viewport-percentage-lengths/viewport-percentage-lengths-resize.html inspector-protocol/debugger/searchInContent-linebreaks.html css3/viewport-percentage-lengths/viewport-percentage-lengths-relative-font-size.html inspector-protocol/debugger/setBreakpoint-actions.html css3/viewport-percentage-lengths/viewport-percentage-lengths-percent-size-child.html inspector-protocol/console/console-message.html inspector-protocol/debugger/setBreakpoint.html Created attachment 238391 [details]
Archive of layout-test-results from webkit-ews-04 for mac-mountainlion
The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: webkit-ews-04 Port: mac-mountainlion Platform: Mac OS X 10.8.5
Created attachment 238398 [details]
Patch
now with correct-ish const behaviour.
Getting there:
trunk new
SunSpider:
3d-cube 6.5831+-0.1777 ? 6.6930+-0.2715 ? might be 1.0167x slower
3d-morph 8.4622+-0.5763 8.3586+-0.4125 might be 1.0124x faster
3d-raytrace 8.4960+-0.8554 8.2167+-0.1770 might be 1.0340x faster
access-binary-trees 2.4766+-0.2238 ? 2.5593+-0.2228 ? might be 1.0334x slower
access-fannkuch 8.0583+-0.4594 ? 8.1275+-0.2988 ?
access-nbody 3.9548+-0.1834 ? 3.9980+-0.2238 ? might be 1.0109x slower
access-nsieve 5.0636+-0.1504 ? 5.3058+-0.2260 ? might be 1.0478x slower
bitops-3bit-bits-in-byte 1.7398+-0.1479 1.7037+-0.1235 might be 1.0212x faster
bitops-bits-in-byte 5.6075+-0.2461 ? 5.6858+-0.1548 ? might be 1.0140x slower
bitops-bitwise-and 2.7920+-0.1718 2.7211+-0.2045 might be 1.0260x faster
bitops-nsieve-bits 5.0073+-0.2889 ? 5.0095+-0.2361 ?
controlflow-recursive 2.6053+-0.1724 ? 2.7364+-0.1839 ? might be 1.0503x slower
crypto-aes 5.6257+-0.7609 5.3441+-0.1170 might be 1.0527x faster
crypto-md5 3.1347+-0.1420 3.1290+-0.2339
crypto-sha1 3.1318+-0.2464 ? 3.1663+-0.2528 ? might be 1.0110x slower
date-format-tofte 11.5990+-0.3327 ! 12.0987+-0.0925 ! definitely 1.0431x slower
date-format-xparb 6.9165+-0.3145 6.6412+-0.3418 might be 1.0414x faster
math-cordic 4.0718+-0.0392 3.9652+-0.1455 might be 1.0269x faster
math-partial-sums 9.3080+-0.7729 8.7882+-0.2186 might be 1.0592x faster
math-spectral-norm 2.7661+-0.2420 2.7000+-0.1566 might be 1.0245x faster
regexp-dna 9.8392+-0.6835 ? 9.9645+-0.2355 ? might be 1.0127x slower
string-base64 5.5485+-0.1918 ? 5.6600+-0.3263 ? might be 1.0201x slower
string-fasta 9.0470+-0.4458 8.9326+-0.0295 might be 1.0128x faster
string-tagcloud 13.7442+-0.1191 13.5806+-0.5803 might be 1.0120x faster
string-unpack-code 29.4589+-1.4138 29.3412+-1.0438
string-validate-input 6.5427+-0.0435 ? 6.6766+-0.4380 ? might be 1.0205x slower
<arithmetic> * 6.9839+-0.0707 6.9655+-0.0448 might be 1.0026x faster
<geometric> 5.6758+-0.0578 5.6685+-0.0333 might be 1.0013x faster
<harmonic> 4.7436+-0.0826 4.7422+-0.0578 might be 1.0003x faster
trunk new
LongSpider:
3d-cube 1115.2137+-9.1448 ? 1128.4586+-22.0743 ? might be 1.0119x slower
3d-morph 1876.0035+-18.0815 1864.1858+-2.4562
3d-raytrace 1101.5542+-17.3604 ? 1107.3085+-12.8265 ?
access-binary-trees 1407.7999+-8.1577 ? 1419.7498+-13.3597 ?
access-fannkuch 449.4797+-17.0694 446.1082+-21.2365
access-nbody 1041.6500+-3.3914 1041.4412+-2.4449
access-nsieve 1400.3293+-9.7507 1400.2641+-5.2063
bitops-3bit-bits-in-byte 49.8457+-0.7492 49.8263+-0.7765
bitops-bits-in-byte 326.7853+-11.1215 325.0287+-10.1818
bitops-nsieve-bits 1035.5785+-3.4531 ^ 988.1630+-3.8508 ^ definitely 1.0480x faster
controlflow-recursive 716.3319+-6.2611 ? 716.3374+-2.0269 ?
crypto-aes 944.1306+-8.4069 939.1065+-2.7868
crypto-md5 808.7806+-4.2647 ? 809.2936+-5.7620 ?
crypto-sha1 991.1830+-1.9757 ? 999.1599+-6.2133 ?
date-format-tofte 1004.8005+-28.8214 ? 1046.4180+-21.8961 ? might be 1.0414x slower
date-format-xparb 968.9442+-32.1412 961.1215+-26.9764
math-cordic 669.5610+-1.6789 ? 670.1751+-1.6054 ?
math-partial-sums 1038.5549+-3.9752 ? 1043.6967+-7.0542 ?
math-spectral-norm 1075.3821+-8.5496 ? 1077.1320+-10.8602 ?
string-base64 491.3812+-2.7716 489.1403+-0.7960
string-fasta 588.2443+-16.8580 578.4473+-2.6189 might be 1.0169x faster
string-tagcloud 312.6832+-2.4466 306.4709+-4.4822 might be 1.0203x faster
<arithmetic> 882.4644+-2.7709 882.1379+-1.3363 might be 1.0004x faster
<geometric> * 738.7421+-2.0411 737.4220+-1.5765 might be 1.0018x faster
<harmonic> 457.5162+-3.0522 456.2728+-2.6500 might be 1.0027x faster
trunk new
V8Spider:
crypto 82.2231+-1.2427 ^ 71.5285+-0.7756 ^ definitely 1.1495x faster
deltablue 111.8444+-0.7116 111.4160+-1.6115
earley-boyer 62.2648+-1.4425 61.7458+-0.7081
raytrace 42.6268+-2.0692 41.6777+-1.5981 might be 1.0228x faster
regexp 86.0444+-0.6564 85.9825+-0.7686
richards 120.5156+-4.2304 ? 124.2405+-3.6949 ? might be 1.0309x slower
splay 43.6022+-1.2629 ? 43.8838+-1.9424 ?
<arithmetic> 78.4459+-0.6855 77.2107+-0.8530 might be 1.0160x faster
<geometric> * 72.9818+-0.6473 71.5596+-0.9034 might be 1.0199x faster
<harmonic> 67.6315+-0.7661 66.2687+-1.1090 might be 1.0206x faster
trunk new
Octane:
encrypt 0.32919+-0.00088 0.32829+-0.00452
decrypt 5.94733+-0.04650 ? 5.95294+-0.08160 ?
deltablue x2 0.28585+-0.00386 0.28492+-0.00848
earley 1.03817+-0.01706 1.02532+-0.02288 might be 1.0125x faster
boyer 8.65140+-0.08995 ? 8.66254+-0.14109 ?
navier-stokes x2 6.38120+-0.00199 ? 6.42797+-0.07170 ?
raytrace x2 2.22852+-0.03256 ? 2.23079+-0.02601 ?
richards x2 0.17804+-0.00404 0.17782+-0.00648
splay x2 0.55333+-0.00589 ? 0.55583+-0.00094 ?
regexp x2 47.54781+-0.16358 ! 48.21833+-0.50462 ! definitely 1.0141x slower
pdfjs x2 73.95415+-0.52756 ? 74.05404+-0.66266 ?
mandreel x2 74.30811+-0.94519 ? 74.62871+-1.01549 ?
gbemu x2 60.62467+-0.63673 ! 65.08309+-0.54328 ! definitely 1.0735x slower
closure 0.76129+-0.00346 ^ 0.75328+-0.00281 ^ definitely 1.0106x faster
jquery 9.38395+-0.01580 ! 9.58200+-0.07902 ! definitely 1.0211x slower
box2d x2 20.33280+-0.33139 20.22942+-0.33759
zlib x2 651.63468+-76.29622 ? 652.06681+-75.82649 ?
typescript x2 1112.48578+-6.48749 ^ 1080.84705+-9.25136 ^ definitely 1.0293x faster
<arithmetic> 137.57137+-4.90182 135.86380+-5.36608 might be 1.0126x faster
<geometric> * 10.02977+-0.07174 ? 10.07270+-0.07125 ? might be 1.0043x slower
<harmonic> 1.03469+-0.00985 1.03296+-0.01972 might be 1.0017x faster
trunk new
Kraken:
ai-astar 462.973+-14.984 ? 468.247+-12.571 ? might be 1.0114x slower
audio-beat-detection 149.861+-1.281 ? 150.162+-3.451 ?
audio-dft 211.999+-0.412 ^ 209.957+-1.464 ^ definitely 1.0097x faster
audio-fft 108.151+-0.800 ? 108.221+-2.046 ?
audio-oscillator 314.353+-4.803 313.669+-2.783
imaging-darkroom 243.110+-0.626 ? 243.292+-1.658 ?
imaging-desaturate 94.783+-0.484 ? 94.893+-0.995 ?
imaging-gaussian-blur 155.828+-1.327 ? 157.653+-3.242 ? might be 1.0117x slower
json-parse-financial 65.110+-0.903 ! 68.601+-1.765 ! definitely 1.0536x slower
json-stringify-tinderbox 90.795+-7.626 87.885+-1.678 might be 1.0331x faster
stanford-crypto-aes 85.882+-3.821 85.659+-1.667
stanford-crypto-ccm 73.668+-11.379 ? 77.755+-11.846 ? might be 1.0555x slower
stanford-crypto-pbkdf2 231.800+-0.750 ? 233.606+-3.015 ?
stanford-crypto-sha256-iterative 71.497+-0.829 ? 72.351+-1.386 ? might be 1.0120x slower
<arithmetic> * 168.558+-1.419 ? 169.425+-0.919 ? might be 1.0051x slower
<geometric> 139.971+-2.158 ? 141.045+-1.393 ? might be 1.0077x slower
<harmonic> 119.602+-2.796 ? 121.043+-1.963 ? might be 1.0120x slower
trunk new
JSRegress:
ArrayBuffer-DataView-alloc-large-long-lived
96.3231+-2.1111 95.4300+-1.2801
ArrayBuffer-DataView-alloc-long-lived 25.8523+-0.3848 ? 26.6305+-2.3002 ? might be 1.0301x slower
ArrayBuffer-Int32Array-byteOffset 4.5000+-0.1687 ? 4.6724+-0.1477 ? might be 1.0383x slower
ArrayBuffer-Int8Array-alloc-large-long-lived
99.8165+-0.5690 99.1079+-1.8575
ArrayBuffer-Int8Array-alloc-long-lived-buffer
42.1527+-1.9165 40.9700+-0.9829 might be 1.0289x faster
ArrayBuffer-Int8Array-alloc-long-lived 25.1815+-1.4728 ? 25.1973+-0.6562 ?
ArrayBuffer-Int8Array-alloc 22.1994+-0.2305 ? 23.9191+-1.8871 ? might be 1.0775x slower
DataView-custom-properties 102.9626+-1.4341 102.0170+-0.7587
Float32Array-matrix-mult 5.8983+-0.4595 5.7465+-0.2019 might be 1.0264x faster
Float32Array-to-Float64Array-set 77.8256+-1.8068 77.2762+-1.5971
Float64Array-alloc-long-lived 87.1673+-1.0175 87.1143+-0.7150
Float64Array-to-Int16Array-set 93.2047+-2.2343 ? 93.4600+-0.6259 ?
HashMap-put-get-iterate-keys 34.9577+-0.4952 ? 34.9827+-1.1771 ?
HashMap-put-get-iterate 34.3861+-0.8570 ? 34.4991+-1.2394 ?
HashMap-string-put-get-iterate 39.0083+-1.0295 38.9553+-2.1005
Int16Array-alloc-long-lived 61.5854+-0.7484 60.9652+-0.7969 might be 1.0102x faster
Int16Array-bubble-sort-with-byteLength 39.1044+-1.1140 ? 39.9411+-1.2428 ? might be 1.0214x slower
Int16Array-bubble-sort 38.3181+-0.2901 ? 39.3561+-1.2312 ? might be 1.0271x slower
Int16Array-load-int-mul 1.8860+-0.1609 1.8227+-0.1140 might be 1.0348x faster
Int16Array-to-Int32Array-set 76.8943+-3.1162 ? 77.1275+-2.5676 ?
Int32Array-Int8Array-view-alloc 12.1113+-0.3056 ? 12.3152+-0.7957 ? might be 1.0168x slower
Int32Array-alloc-large 36.7415+-1.4709 36.5608+-1.3040
Int32Array-alloc-long-lived 68.5901+-1.0806 68.5807+-0.7470
Int32Array-alloc 4.0016+-0.1230 ? 4.0312+-0.3620 ?
Int8Array-alloc-long-lived 55.6004+-1.3095 55.2764+-0.8600
Int8Array-load-with-byteLength 4.6536+-0.0295 ? 4.6576+-0.1057 ?
Int8Array-load 4.5872+-0.0524 ? 4.6000+-0.0858 ?
abs-boolean 3.6297+-0.1432 ? 3.6451+-0.0977 ?
adapt-to-double-divide 18.2473+-0.8462 17.8862+-0.7848 might be 1.0202x faster
aliased-arguments-getbyval 1.0671+-0.1270 ? 1.0852+-0.1280 ? might be 1.0169x slower
allocate-big-object 3.0390+-0.2137 ? 3.2673+-0.5758 ? might be 1.0751x slower
arity-mismatch-inlining 0.9651+-0.1043 ? 1.0043+-0.0679 ? might be 1.0405x slower
array-access-polymorphic-structure 8.8950+-0.5360 8.8070+-0.3318
array-nonarray-polymorhpic-access 51.3222+-1.2678 ? 52.2993+-1.0376 ? might be 1.0190x slower
array-prototype-every 102.0532+-4.4841 99.5626+-2.1934 might be 1.0250x faster
array-prototype-forEach 100.3277+-2.9111 ? 101.0574+-5.0482 ?
array-prototype-map 124.2255+-4.5038 ? 124.7147+-2.7377 ?
array-prototype-some 100.6591+-1.7756 98.8412+-2.1709 might be 1.0184x faster
array-splice-contiguous 57.7095+-1.7089 ? 58.2322+-1.2894 ?
array-with-double-add 5.7574+-0.2375 5.7222+-0.1560
array-with-double-increment 5.3092+-0.0678 ^ 4.0213+-0.1020 ^ definitely 1.3203x faster
array-with-double-mul-add 7.4147+-0.1747 6.9760+-0.5075 might be 1.0629x faster
array-with-double-sum 5.4860+-0.1663 ^ 4.2265+-0.1148 ^ definitely 1.2980x faster
array-with-int32-add-sub 10.0468+-0.1681 10.0451+-0.1902
array-with-int32-or-double-sum 5.5323+-0.1614 ^ 4.3475+-0.1252 ^ definitely 1.2725x faster
asmjs_bool_bug 8.7563+-0.0824 ? 8.7730+-0.2996 ?
assign-custom-setter-polymorphic 4.3048+-0.4372 4.3022+-0.1762
assign-custom-setter 6.5165+-1.0573 5.7444+-0.1788 might be 1.1344x faster
basic-set 13.6500+-0.5017 ? 13.9428+-1.0375 ? might be 1.0214x slower
big-int-mul 6.3073+-0.0888 ^ 5.7023+-0.1623 ^ definitely 1.1061x faster
boolean-test 4.1055+-0.1238 ? 4.1356+-0.0851 ?
branch-fold 4.5148+-0.1394 ? 4.5520+-0.1090 ?
by-val-generic 10.5801+-0.8108 ? 10.8841+-0.1816 ? might be 1.0287x slower
call-spread-apply 18.1485+-1.0988 16.8668+-0.4843 might be 1.0760x faster
call-spread-call 7.8897+-0.2348 7.4687+-0.2252 might be 1.0564x faster
captured-assignments 0.5775+-0.1134 0.5745+-0.1160
cast-int-to-double 8.0908+-0.1259 ? 8.0965+-0.2065 ?
cell-argument 10.0329+-0.3145 9.9075+-0.6846 might be 1.0127x faster
cfg-simplify 3.5285+-0.0680 3.4700+-0.0985 might be 1.0169x faster
chain-getter-access 12.7510+-0.3211 12.5332+-0.4407 might be 1.0174x faster
cmpeq-obj-to-obj-other 12.0731+-0.1444 11.9660+-0.3741
constant-test 7.7147+-0.1775 7.5865+-0.1082 might be 1.0169x faster
delay-tear-off-arguments-strictmode 3.2924+-0.2403 ? 3.3028+-0.1002 ?
destructuring-arguments 7.8797+-0.2793 7.7270+-0.1728 might be 1.0198x faster
destructuring-swap 7.7220+-0.2817 7.6637+-0.1329
direct-arguments-getbyval 1.0682+-0.1293 ? 1.1610+-0.0344 ? might be 1.0868x slower
div-boolean-double 5.4090+-0.0768 ? 5.4347+-0.0582 ?
div-boolean 10.1900+-1.0174 9.8658+-0.1787 might be 1.0329x faster
double-get-by-val-out-of-bounds 5.5109+-0.2415 ? 5.6030+-0.2241 ? might be 1.0167x slower
double-pollution-getbyval 9.6093+-0.0900 ? 9.8392+-0.2250 ? might be 1.0239x slower
double-pollution-putbyoffset 5.3180+-0.2963 5.3160+-0.2243
double-to-int32-typed-array-no-inline 2.6940+-0.1485 ? 2.7416+-0.0504 ? might be 1.0177x slower
double-to-int32-typed-array 2.3230+-0.1581 2.3212+-0.1542
double-to-uint32-typed-array-no-inline 2.6810+-0.1434 2.6657+-0.1637
double-to-uint32-typed-array 2.4536+-0.1149 ? 2.5308+-0.0751 ? might be 1.0315x slower
empty-string-plus-int 8.9819+-0.1069 ? 9.2714+-0.2913 ? might be 1.0322x slower
emscripten-cube2hash 48.0847+-1.7371 46.3077+-0.1417 might be 1.0384x faster
external-arguments-getbyval 1.7885+-0.0668 ? 1.8610+-0.1368 ? might be 1.0405x slower
external-arguments-putbyval 2.4565+-0.1236 ? 2.4950+-0.0940 ? might be 1.0157x slower
fixed-typed-array-storage-var-index 1.4158+-0.1080 ? 1.4692+-0.1642 ? might be 1.0377x slower
fixed-typed-array-storage 1.0585+-0.0837 1.0024+-0.0660 might be 1.0559x faster
fold-double-to-int 18.3644+-0.6183 ? 18.5140+-0.4753 ?
fold-get-by-id-to-multi-get-by-offset-rare-int
23.4003+-2.1738 ? 25.5282+-4.7209 ? might be 1.0909x slower
fold-get-by-id-to-multi-get-by-offset 22.7805+-1.0411 ? 23.8630+-3.2552 ? might be 1.0475x slower
fold-multi-get-by-offset-to-get-by-offset
15.5200+-0.4093 15.3650+-0.4838 might be 1.0101x faster
fold-multi-get-by-offset-to-poly-get-by-offset
15.8572+-0.5235 15.8423+-0.6452
fold-multi-put-by-offset-to-poly-put-by-offset
16.3254+-0.7642 ? 16.5710+-0.6488 ? might be 1.0150x slower
fold-multi-put-by-offset-to-put-by-offset
15.2444+-0.7485 15.1572+-0.6804
fold-multi-put-by-offset-to-replace-or-transition-put-by-offset
20.2938+-1.3319 20.1758+-0.6960
fold-put-by-id-to-multi-put-by-offset 26.5216+-3.9199 ? 26.6257+-1.8730 ?
fold-put-structure 14.9695+-0.1563 14.8265+-0.1234
for-of-iterate-array-entries 7.3966+-0.1071 ! 7.7647+-0.1814 ! definitely 1.0498x slower
for-of-iterate-array-keys 3.6517+-0.1399 3.5905+-0.3672 might be 1.0170x faster
for-of-iterate-array-values 3.1245+-0.2005 2.9680+-0.3201 might be 1.0527x faster
fround 22.1049+-0.5668 ? 22.9566+-0.9949 ? might be 1.0385x slower
ftl-library-inlining-dataview 101.5339+-5.9573 92.9108+-5.4875 might be 1.0928x faster
ftl-library-inlining 102.9000+-1.3286 ^ 100.2765+-0.8393 ^ definitely 1.0262x faster
function-dot-apply 2.2635+-0.4501 2.2006+-0.1381 might be 1.0286x faster
function-test 4.6037+-0.0887 4.6033+-0.4625
function-with-eval 83.1436+-3.2480 ^ 75.9734+-1.6093 ^ definitely 1.0944x faster
gcse-poly-get-less-obvious 25.0947+-0.3538 24.6570+-0.6157 might be 1.0178x faster
gcse-poly-get 24.8865+-0.4910 24.7108+-0.3687
gcse 6.4426+-0.0777 6.4410+-0.1287
get-by-id-bimorphic-check-structure-elimination-simple
3.2086+-0.1246 ? 3.3055+-0.3037 ? might be 1.0302x slower
get-by-id-bimorphic-check-structure-elimination
8.0546+-0.3940 ? 8.2998+-0.4120 ? might be 1.0304x slower
get-by-id-chain-from-try-block 6.9770+-0.1833 ! 15.6876+-0.7551 ! definitely 2.2485x slower
get-by-id-check-structure-elimination 7.5323+-0.3057 7.4353+-0.1228 might be 1.0130x faster
get-by-id-proto-or-self 24.4953+-3.1179 22.0028+-0.5513 might be 1.1133x faster
get-by-id-quadmorphic-check-structure-elimination-simple
3.8157+-0.2055 ? 3.8615+-0.0654 ? might be 1.0120x slower
get-by-id-self-or-proto 24.3384+-0.9276 22.7166+-1.5055 might be 1.0714x faster
get-by-val-out-of-bounds 5.4510+-0.0558 ? 5.4603+-0.1823 ?
get_callee_monomorphic 4.9068+-0.2698 4.8579+-0.4715 might be 1.0101x faster
get_callee_polymorphic 4.1535+-0.0552 4.1132+-0.1601
getter-no-activation 5.6725+-0.0339 ? 5.6747+-0.0493 ?
getter-richards 171.4846+-11.4664 169.2729+-10.4960 might be 1.0131x faster
getter 6.3890+-0.1603 ? 6.5099+-0.3169 ? might be 1.0189x slower
global-var-const-infer-fire-from-opt 1.1889+-0.1020 1.1722+-0.2260 might be 1.0142x faster
global-var-const-infer 1.1235+-0.1112 0.9630+-0.0918 might be 1.1666x faster
hoist-make-rope 14.2095+-2.3673 ? 14.3226+-1.8815 ?
hoist-poly-check-structure-effectful-loop
6.4543+-0.2628 6.4287+-0.1696
hoist-poly-check-structure 4.8732+-0.0302 4.8382+-0.2482
imul-double-only 10.0211+-1.1597 ? 10.2737+-2.1651 ? might be 1.0252x slower
imul-int-only 12.7151+-0.7199 12.0753+-0.9731 might be 1.0530x faster
imul-mixed 10.0916+-0.9905 9.8337+-0.8394 might be 1.0262x faster
in-four-cases 24.0830+-0.4118 ! 26.8447+-0.5746 ! definitely 1.1147x slower
in-one-case-false 12.8676+-0.1359 ! 15.1060+-0.5081 ! definitely 1.1740x slower
in-one-case-true 12.9622+-0.2347 ! 14.9085+-0.2527 ! definitely 1.1502x slower
in-two-cases 13.2499+-0.0916 ! 15.3542+-0.2414 ! definitely 1.1588x slower
indexed-properties-in-objects 3.7455+-0.1233 3.6815+-0.0942 might be 1.0174x faster
infer-closure-const-then-mov-no-inline 4.2895+-0.1640 ? 4.3852+-0.1468 ? might be 1.0223x slower
infer-closure-const-then-mov 24.4436+-0.2226 ? 24.8204+-0.4852 ? might be 1.0154x slower
infer-closure-const-then-put-to-scope-no-inline
15.1420+-0.3706 14.9277+-0.3291 might be 1.0144x faster
infer-closure-const-then-put-to-scope 27.9920+-0.2383 ? 28.0573+-0.3292 ?
infer-closure-const-then-reenter-no-inline
65.3909+-1.6937 64.6133+-0.7748 might be 1.0120x faster
infer-closure-const-then-reenter 28.0624+-0.8324 27.9370+-0.5351
infer-constant-global-property 4.5945+-0.1533 ? 4.6071+-0.1239 ?
infer-constant-property 3.1650+-0.1375 3.0947+-0.0835 might be 1.0227x faster
infer-one-time-closure-ten-vars 14.7390+-0.4337 14.5485+-0.5271 might be 1.0131x faster
infer-one-time-closure-two-vars 14.4742+-0.4512 14.4015+-0.9172
infer-one-time-closure 14.0286+-0.6796 ? 14.1026+-0.2509 ?
infer-one-time-deep-closure 24.4132+-0.4883 ? 25.2418+-1.2493 ? might be 1.0339x slower
inline-arguments-access 2.0644+-0.1510 2.0504+-0.1407
inline-arguments-aliased-access 2.2595+-0.1285 ? 2.2772+-0.1595 ?
inline-arguments-local-escape 16.2642+-0.3936 15.9981+-0.5263 might be 1.0166x faster
inline-get-scoped-var 5.6449+-0.4056 5.5308+-0.1832 might be 1.0206x faster
inlined-put-by-id-transition 13.0715+-0.4892 12.9933+-0.1798
int-or-other-abs-then-get-by-val 6.7018+-0.1128 ? 6.8647+-0.3891 ? might be 1.0243x slower
int-or-other-abs-zero-then-get-by-val 26.8300+-0.7498 ? 26.8833+-0.3559 ?
int-or-other-add-then-get-by-val 5.7943+-0.0834 ? 5.7970+-0.0944 ?
int-or-other-add 7.7078+-0.2908 ? 7.8168+-0.2283 ? might be 1.0141x slower
int-or-other-div-then-get-by-val 5.0109+-0.2264 4.9843+-0.0961
int-or-other-max-then-get-by-val 6.4915+-0.5361 6.4287+-0.3641
int-or-other-min-then-get-by-val 5.1611+-0.0820 5.1392+-0.0772
int-or-other-mod-then-get-by-val 4.9919+-0.0648 ? 5.0179+-0.0488 ?
int-or-other-mul-then-get-by-val 4.8843+-0.0419 ? 4.9385+-0.0672 ? might be 1.0111x slower
int-or-other-neg-then-get-by-val 6.1907+-0.1183 6.0319+-0.1374 might be 1.0263x faster
int-or-other-neg-zero-then-get-by-val 26.7320+-0.1232 26.6183+-0.6308
int-or-other-sub-then-get-by-val 5.8051+-0.2946 5.7825+-0.0978
int-or-other-sub 4.9672+-0.0549 ? 4.9925+-0.1702 ?
int-overflow-local 5.6273+-0.1328 ? 5.6918+-0.0938 ? might be 1.0115x slower
int52-spill 9.5370+-0.1818 ? 9.5427+-0.2453 ?
integer-divide 14.5269+-0.2667 14.4574+-0.5346
integer-modulo 2.6409+-0.0899 ? 2.7095+-0.1359 ? might be 1.0260x slower
large-int-captured 9.0463+-0.4690 8.8754+-0.2207 might be 1.0193x faster
large-int-neg 20.8408+-0.7343 20.6835+-0.3558
large-int 18.7789+-0.2895 18.3922+-0.2979 might be 1.0210x faster
logical-not 6.1301+-0.2049 ? 6.4140+-0.3102 ? might be 1.0463x slower
lots-of-fields 13.8925+-0.3386 13.8195+-0.6452
make-indexed-storage 4.0585+-0.3986 3.9557+-0.1810 might be 1.0260x faster
make-rope-cse 5.6769+-0.3190 ? 5.7313+-0.1443 ?
marsaglia-larger-ints 52.7910+-1.4239 52.7769+-1.2627
marsaglia-osr-entry 28.2747+-0.7108 27.8625+-0.9393 might be 1.0148x faster
max-boolean 3.4178+-0.6286 3.1863+-0.1485 might be 1.0727x faster
method-on-number 23.1014+-0.4372 22.9315+-0.4511
min-boolean 3.1112+-0.1258 ? 3.2175+-0.1563 ? might be 1.0342x slower
minus-boolean-double 4.1011+-0.0744 4.0299+-0.0434 might be 1.0177x faster
minus-boolean 3.2479+-0.3468 3.1413+-0.1042 might be 1.0339x faster
misc-strict-eq 54.5507+-0.5462 54.3152+-0.9860
mod-boolean-double 11.6792+-0.1569 ? 11.7282+-0.2662 ?
mod-boolean 8.8770+-0.1744 ? 8.9669+-0.4268 ? might be 1.0101x slower
mul-boolean-double 4.7873+-0.1640 4.7634+-0.1688
mul-boolean 3.3674+-0.1172 3.3401+-0.1028
neg-boolean 4.2021+-0.1067 4.1771+-0.0611
negative-zero-divide 0.4540+-0.0985 ? 0.4552+-0.0838 ?
negative-zero-modulo 0.3867+-0.0302 ? 0.4001+-0.0333 ? might be 1.0346x slower
negative-zero-negate 0.4235+-0.0991 0.3904+-0.0926 might be 1.0846x faster
nested-function-parsing 33.5504+-0.3686 33.4075+-0.1590
new-array-buffer-dead 3.6609+-0.1365 ? 3.6843+-0.2111 ?
new-array-buffer-push 9.2642+-0.1181 ? 9.3521+-0.1441 ?
new-array-dead 15.2005+-0.6041 ? 15.2479+-1.1319 ?
new-array-push 6.4792+-0.1856 6.3951+-0.1784 might be 1.0132x faster
number-test 4.0525+-0.0737 3.9981+-0.0871 might be 1.0136x faster
object-closure-call 8.0940+-0.3902 7.9763+-0.2346 might be 1.0148x faster
object-test 4.1730+-0.0990 ? 4.2365+-0.0468 ? might be 1.0152x slower
plus-boolean-arith 3.2040+-0.0993 ? 3.2292+-0.0966 ?
plus-boolean-double 4.0802+-0.1158 ? 4.1053+-0.1690 ?
plus-boolean 3.0788+-0.0575 ? 3.0858+-0.1381 ?
poly-chain-access-different-prototypes-simple
3.7367+-0.0390 3.7330+-0.0596
poly-chain-access-different-prototypes 3.1423+-0.1856 ? 3.1467+-0.1499 ?
poly-chain-access-simpler 3.7350+-0.1143 ? 3.7779+-0.1255 ? might be 1.0115x slower
poly-chain-access 2.9308+-0.4260 ? 3.1788+-0.8686 ? might be 1.0846x slower
poly-stricteq 67.8632+-0.8192 67.4833+-0.1782
polymorphic-array-call 2.3395+-0.1838 2.1553+-0.2588 might be 1.0855x faster
polymorphic-get-by-id 4.0545+-0.1345 4.0300+-0.1220
polymorphic-put-by-id 64.9861+-33.4241 ? 79.4718+-33.3256 ? might be 1.2229x slower
polymorphic-structure 22.1936+-1.7747 22.1533+-1.7899
polyvariant-monomorphic-get-by-id 11.3966+-0.1459 ? 11.4235+-0.5467 ?
proto-getter-access 12.8620+-0.3882 12.7621+-0.2775
put-by-id-replace-and-transition 10.9548+-0.5440 ? 11.0190+-0.4469 ?
put-by-id-slightly-polymorphic 3.4095+-0.1152 ? 3.4102+-0.1639 ?
put-by-id 17.7377+-0.2172 ? 18.0115+-0.3618 ? might be 1.0154x slower
put-by-val-direct 0.7931+-0.2252 0.7202+-0.1362 might be 1.1012x faster
put-by-val-large-index-blank-indexing-type
8.8326+-0.1489 ? 9.0140+-0.0589 ? might be 1.0205x slower
put-by-val-machine-int 3.0628+-0.2438 ? 3.0645+-0.2507 ?
rare-osr-exit-on-local 17.8762+-0.1754 ! 18.3328+-0.1496 ! definitely 1.0255x slower
register-pressure-from-osr 26.6710+-0.2764 26.5098+-0.3132
setter 6.4762+-0.3917 6.3505+-0.1331 might be 1.0198x faster
simple-activation-demo 29.4216+-0.2772 ! 36.1766+-0.5220 ! definitely 1.2296x slower
simple-getter-access 18.1370+-0.3527 ? 18.3854+-0.5047 ? might be 1.0137x slower
simple-poly-call-nested 21.4819+-0.2659 ? 21.5319+-0.2515 ?
simple-poly-call 1.4722+-0.1029 ? 1.5213+-0.1434 ? might be 1.0333x slower
sin-boolean 24.1538+-3.3539 ? 26.0154+-1.2038 ? might be 1.0771x slower
slow-array-profile-convergence 3.7523+-0.2891 3.6850+-0.2979 might be 1.0183x faster
slow-convergence 4.5027+-0.4171 4.4257+-0.2911 might be 1.0174x faster
sparse-conditional 1.4066+-0.0874 ? 1.4129+-0.0637 ?
splice-to-remove 20.6062+-0.7010 ? 20.8152+-0.3831 ? might be 1.0101x slower
string-char-code-at 19.9677+-0.2114 19.8031+-0.3635
string-concat-object 2.6831+-0.3979 ? 2.7549+-0.2265 ? might be 1.0268x slower
string-concat-pair-object 2.6206+-0.2508 2.5940+-0.3127 might be 1.0103x faster
string-concat-pair-simple 15.2766+-0.4133 ? 15.4123+-0.2538 ?
string-concat-simple 15.8495+-0.8062 15.7387+-0.4264
string-cons-repeat 10.3113+-0.3260 ? 10.4130+-0.3831 ?
string-cons-tower 9.5518+-0.4667 9.4879+-0.6375
string-equality 22.0485+-0.6696 ? 22.1232+-0.2392 ?
string-get-by-val-big-char 11.1558+-0.4746 11.1460+-0.2121
string-get-by-val-out-of-bounds-insane 5.0622+-0.1606 ? 5.1835+-0.7162 ? might be 1.0240x slower
string-get-by-val-out-of-bounds 6.0705+-0.1435 6.0602+-0.0861
string-get-by-val 4.6732+-0.1048 4.6657+-0.1262
string-hash 2.7368+-0.1921 ? 2.8369+-0.6210 ? might be 1.0366x slower
string-long-ident-equality 18.1400+-0.3845 18.1063+-0.1279
string-repeat-arith 40.0750+-0.3643 ? 40.7059+-0.5917 ? might be 1.0157x slower
string-sub 77.2094+-1.1414 ? 80.2283+-1.9680 ? might be 1.0391x slower
string-test 3.9481+-0.0298 ! 4.0569+-0.0532 ! definitely 1.0276x slower
string-var-equality 43.8590+-0.3445 43.5211+-0.5472
structure-hoist-over-transitions 3.2635+-0.2003 ? 3.2872+-0.2394 ?
substring-concat-weird 54.6429+-2.6798 53.5683+-1.0351 might be 1.0201x faster
substring-concat 56.4485+-0.5954 55.3657+-0.7605 might be 1.0196x faster
substring 64.2574+-2.2763 62.8377+-2.1780 might be 1.0226x faster
switch-char-constant 3.1913+-0.0772 3.1463+-0.0755 might be 1.0143x faster
switch-char 8.3558+-0.0956 ^ 8.0818+-0.1066 ^ definitely 1.0339x faster
switch-constant 9.6635+-0.2579 ? 9.8797+-0.3871 ? might be 1.0224x slower
switch-string-basic-big-var 21.7982+-0.6233 20.5110+-1.4992 might be 1.0628x faster
switch-string-basic-big 22.9238+-2.8693 ? 23.3780+-1.6152 ? might be 1.0198x slower
switch-string-basic-var 27.3795+-2.0094 25.8011+-0.8527 might be 1.0612x faster
switch-string-basic 26.7157+-2.3153 26.3767+-3.2824 might be 1.0129x faster
switch-string-big-length-tower-var 25.2234+-0.4440 ? 25.4326+-0.6334 ?
switch-string-length-tower-var 19.7588+-0.1111 ? 19.7742+-0.2566 ?
switch-string-length-tower 14.8682+-0.5266 14.7795+-0.4844
switch-string-short 15.0306+-0.8837 14.6819+-0.2755 might be 1.0237x faster
switch 13.6552+-0.1055 13.4808+-0.1842 might be 1.0129x faster
tear-off-arguments-simple 2.2212+-0.2047 2.2021+-0.2013
tear-off-arguments 3.3960+-0.1689 ? 3.4814+-0.4835 ? might be 1.0251x slower
temporal-structure 17.7609+-1.4133 17.1624+-0.3671 might be 1.0349x faster
to-int32-boolean 21.0178+-0.2178 20.7344+-0.1212 might be 1.0137x faster
undefined-test 4.1890+-0.2233 4.1232+-0.1419 might be 1.0159x faster
unprofiled-licm 26.9737+-0.7757 ? 27.2398+-0.6682 ?
weird-inlining-const-prop 2.4214+-0.0492 2.3540+-0.2081 might be 1.0286x faster
<arithmetic> 18.9634+-0.1087 ? 18.9751+-0.1562 ? might be 1.0006x slower
<geometric> * 9.7248+-0.0489 ? 9.7295+-0.0334 ? might be 1.0005x slower
<harmonic> 4.9862+-0.1555 4.9521+-0.0845 might be 1.0069x faster
trunk new
AsmBench:
FloatMM.c 954.9219+-2.6045 952.6478+-3.2549
Quicksort.c 570.5150+-4.2223 567.0496+-10.1042
Towers.c 412.9584+-6.0426 407.2017+-3.1329 might be 1.0141x faster
bigfib.cpp 676.8460+-3.3216 675.2370+-6.6636
cray.c 682.7697+-12.0984 675.5878+-6.1158 might be 1.0106x faster
dry.c 652.2833+-12.8077 ? 657.1885+-8.4637 ?
gcc-loops.cpp 6260.9487+-5.3451 6255.6738+-15.4319
n-body.c 1665.5918+-5.6235 1663.8870+-3.8437
stepanov_container.cpp 4917.6925+-47.4505 ? 4928.5721+-37.2530 ?
<arithmetic> 1866.0586+-7.5345 1864.7828+-4.2620 might be 1.0007x faster
<geometric> * 1148.5213+-5.0519 1145.0027+-0.7815 might be 1.0031x faster
<harmonic> 844.2303+-4.0583 839.8728+-1.6643 might be 1.0052x faster
trunk new
CompressionBench:
huffman 672.8792+-29.6578 665.1431+-4.0142 might be 1.0116x faster
arithmetic-simple 583.9593+-2.9476 ? 587.2658+-1.0082 ?
arithmetic-precise 434.6574+-5.5918 ? 439.9083+-6.5845 ? might be 1.0121x slower
arithmetic-complex-precise 432.2463+-1.8862 ? 435.0661+-5.9896 ?
arithmetic-precise-order-0 623.7480+-11.2307 623.6305+-10.4591
arithmetic-precise-order-1 477.5748+-4.6420 ? 481.9074+-9.9008 ?
arithmetic-precise-order-2 537.4606+-6.1880 537.4379+-9.6046
arithmetic-simple-order-1 594.4314+-2.1478 ? 597.3037+-3.5914 ?
arithmetic-simple-order-2 669.8738+-3.9069 ? 670.3810+-9.5131 ?
lz-string 437.1680+-7.6451 ? 438.4885+-10.8510 ?
<arithmetic> 546.3999+-3.9983 ? 547.6532+-0.9452 ? might be 1.0023x slower
<geometric> * 538.6627+-3.3985 ? 540.2833+-1.3053 ? might be 1.0030x slower
<harmonic> 530.9447+-2.9006 ? 532.9070+-1.6773 ? might be 1.0037x slower
trunk new
All benchmarks:
<arithmetic> 140.1393+-0.5699 140.0063+-0.5229 might be 1.0010x faster
<geometric> 17.0747+-0.0722 ? 17.0816+-0.0437 ? might be 1.0004x slower
<harmonic> 4.3588+-0.0904 4.3383+-0.0536 might be 1.0047x faster
trunk new
Geomean of preferred means:
<scaled-result> 88.6941+-0.1949 88.5361+-0.2095 might be 1.0018x faster
Created attachment 238728 [details]
WIP - passes jsc tests, progresses jsc only benchmarks, etc
I suspect this still hoses the inspector to some extent, but progress!
Hmmm, i think i screwed up benchmarks, so i suspect they're a lie. sigh. Actual numbers:
3036/3036
Generating benchmark report at /Volumes/Data/git/WebKit/trunk_new_SunSpiderLongSpiderV8SpiderOctaneKrakenJSRegressAsmBenchCompressionBench_Eggplant_20140926_1344_report.txt
And raw data at /Volumes/Data/git/WebKit/trunk_new_SunSpiderLongSpiderV8SpiderOctaneKrakenJSRegressAsmBenchCompressionBench_Eggplant_20140926_1344.json
Benchmark report for SunSpider, LongSpider, V8Spider, Octane, Kraken, JSRegress, AsmBench, and CompressionBench on Eggplant (MacPro5,1).
VMs tested:
"trunk" at /Volumes/Data/git/WebKit/OpenSourceTrunk/WebKitBuild/Release/jsc
"new" at /Volumes/Data/git/WebKit/OpenSource/WebKitBuild/Release/jsc
Collected 4 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.
trunk new
SunSpider:
3d-cube 6.7443+-0.1294 6.6111+-0.0979 might be 1.0202x faster
3d-morph 8.1974+-0.2451 8.1368+-0.2034
3d-raytrace 8.6035+-0.6073 8.3565+-0.2501 might be 1.0296x faster
access-binary-trees 2.5215+-0.1807 2.4868+-0.1287 might be 1.0139x faster
access-fannkuch 7.9585+-0.0833 ? 8.2219+-0.3215 ? might be 1.0331x slower
access-nbody 3.9390+-0.0916 ? 4.0127+-0.1610 ? might be 1.0187x slower
access-nsieve 5.0423+-0.1755 ? 5.3387+-0.1850 ? might be 1.0588x slower
bitops-3bit-bits-in-byte 1.7369+-0.0681 1.7108+-0.0779 might be 1.0152x faster
bitops-bits-in-byte 5.5807+-0.1797 ? 5.6055+-0.1145 ?
bitops-bitwise-and 2.7057+-0.2966 ? 2.7642+-0.0518 ? might be 1.0216x slower
bitops-nsieve-bits 5.1221+-0.1101 ? 5.1998+-0.3648 ? might be 1.0152x slower
controlflow-recursive 2.5780+-0.1130 ? 2.7060+-0.2898 ? might be 1.0496x slower
crypto-aes 5.3763+-0.2993 ? 5.4786+-0.4077 ? might be 1.0190x slower
crypto-md5 3.2275+-0.2105 3.1948+-0.1299 might be 1.0103x faster
crypto-sha1 3.1719+-0.0610 ? 3.2495+-0.2915 ? might be 1.0245x slower
date-format-tofte 11.7034+-0.2435 ! 12.4322+-0.4612 ! definitely 1.0623x slower
date-format-xparb 6.7194+-0.2569 ? 6.7233+-0.4601 ?
math-cordic 4.0045+-0.1178 ? 4.0076+-0.0875 ?
math-partial-sums 8.8754+-0.4168 ? 8.8982+-0.2683 ?
math-spectral-norm 2.7220+-0.1536 ? 2.7385+-0.1109 ?
regexp-dna 9.9587+-0.3243 ? 10.3217+-1.1160 ? might be 1.0364x slower
string-base64 5.5658+-0.2440 ? 5.5855+-0.3147 ?
string-fasta 8.7911+-0.3253 ? 8.8351+-0.1678 ?
string-tagcloud 13.7953+-0.6171 13.5016+-0.3716 might be 1.0218x faster
string-unpack-code 28.3790+-0.4929 ? 28.7291+-0.4518 ? might be 1.0123x slower
string-validate-input 6.6625+-0.2774 6.6150+-0.3190
<arithmetic> * 6.9109+-0.0209 ? 6.9793+-0.1352 ? might be 1.0099x slower
<geometric> 5.6433+-0.0290 ? 5.6961+-0.1139 ? might be 1.0094x slower
<harmonic> 4.7276+-0.0384 ? 4.7676+-0.0988 ? might be 1.0085x slower
trunk new
LongSpider:
3d-cube 1113.7415+-9.7698 1109.5758+-7.6159
3d-morph 1867.0195+-2.7925 1866.0338+-2.1326
3d-raytrace 1106.8409+-15.2043 ? 1115.4459+-32.4520 ?
access-binary-trees 1414.0502+-10.7701 ? 1419.0424+-24.4713 ?
access-fannkuch 441.0638+-19.9062 ? 454.7960+-2.6420 ? might be 1.0311x slower
access-nbody 1043.0300+-4.0359 ? 1043.2612+-2.7018 ?
access-nsieve 1400.9887+-4.6072 ? 1403.0087+-3.7063 ?
bitops-3bit-bits-in-byte 50.1689+-1.0781 50.0762+-0.5952
bitops-bits-in-byte 326.5693+-4.4745 325.7364+-5.0850
bitops-nsieve-bits 1035.7405+-2.3900 ^ 988.5452+-2.4266 ^ definitely 1.0477x faster
controlflow-recursive 714.5597+-4.2516 ? 715.5975+-7.2799 ?
crypto-aes 939.2919+-9.3686 ? 941.5253+-9.0607 ?
crypto-md5 811.6188+-5.9284 ? 818.5581+-9.7848 ?
crypto-sha1 985.8463+-22.2390 ? 995.0198+-5.5647 ?
date-format-tofte 1001.6179+-9.2395 ! 1109.9208+-30.1300 ! definitely 1.1081x slower
date-format-xparb 963.4570+-12.7345 ? 976.1456+-8.8584 ? might be 1.0132x slower
math-cordic 670.0289+-1.8824 ? 672.1494+-2.2344 ?
math-partial-sums 1040.2380+-2.6450 1039.3071+-5.9638
math-spectral-norm 1078.2944+-7.1063 1075.9610+-2.0130
string-base64 491.7759+-2.9266 490.7382+-4.9238
string-fasta 587.3597+-6.3628 584.8358+-7.5132
string-tagcloud 313.3773+-2.9903 311.1636+-1.4138
<arithmetic> 881.6672+-2.4378 ! 886.6565+-0.9684 ! definitely 1.0057x slower
<geometric> * 738.0870+-3.2967 ? 741.8655+-1.1586 ? might be 1.0051x slower
<harmonic> 458.3116+-5.2330 ? 459.1627+-2.6326 ? might be 1.0019x slower
trunk new
V8Spider:
crypto 80.2921+-9.9146 70.8467+-0.9298 might be 1.1333x faster
deltablue 112.5527+-1.5564 112.1467+-0.8717
earley-boyer 64.2410+-3.4059 61.9985+-0.5378 might be 1.0362x faster
raytrace 41.3625+-1.4983 ? 42.5961+-2.0669 ? might be 1.0298x slower
regexp 86.4158+-1.2322 ? 87.1363+-0.7558 ?
richards 125.0211+-1.6206 121.1271+-3.5634 might be 1.0321x faster
splay 43.2493+-1.2176 ? 44.5338+-2.5463 ? might be 1.0297x slower
<arithmetic> 79.0192+-1.6113 77.1979+-0.6576 might be 1.0236x faster
<geometric> * 73.1339+-1.6045 71.8179+-0.9716 might be 1.0183x faster
<harmonic> 67.4033+-1.3650 66.7602+-1.3704 might be 1.0096x faster
trunk new
Octane:
encrypt 0.33006+-0.00116 0.32790+-0.00333
decrypt 5.94068+-0.06110 5.93788+-0.06397
deltablue x2 0.28468+-0.00653 0.28306+-0.00475
earley 1.04182+-0.01653 1.03210+-0.02206
boyer 8.59990+-0.18730 ? 8.66593+-0.08979 ?
navier-stokes x2 6.40207+-0.01695 6.39632+-0.03441
raytrace x2 2.23051+-0.05907 ? 2.23461+-0.05916 ?
richards x2 0.17445+-0.00354 ? 0.17707+-0.00811 ? might be 1.0150x slower
splay x2 0.54877+-0.00996 ? 0.55403+-0.00232 ?
regexp x2 47.90684+-0.52211 ? 48.50630+-0.70661 ? might be 1.0125x slower
pdfjs x2 73.72484+-0.44070 73.44644+-0.26363
mandreel x2 74.33462+-1.01277 73.86322+-0.77229
gbemu x2 61.74007+-1.49945 ! 65.62931+-1.61277 ! definitely 1.0630x slower
closure 0.76488+-0.00869 0.75872+-0.00652
jquery 9.36705+-0.10355 ! 9.64641+-0.16241 ! definitely 1.0298x slower
box2d x2 20.37187+-0.36504 20.32874+-0.21676
zlib x2 674.93504+-5.27127 655.15851+-78.30317 might be 1.0302x faster
typescript x2 1117.33649+-18.24108 ^ 1084.47083+-14.02619 ^ definitely 1.0303x faster
<arithmetic> 139.53416+-0.94907 136.28219+-4.35716 might be 1.0239x faster
<geometric> * 10.05561+-0.05474 ? 10.07266+-0.10931 ? might be 1.0017x slower
<harmonic> 1.02510+-0.00774 ? 1.02962+-0.01819 ? might be 1.0044x slower
trunk new
Kraken:
ai-astar 468.807+-16.236 467.590+-13.003
audio-beat-detection 152.300+-4.454 149.006+-3.258 might be 1.0221x faster
audio-dft 210.682+-2.292 ? 210.986+-4.889 ?
audio-fft 108.023+-0.866 107.561+-0.716
audio-oscillator 313.635+-0.864 312.218+-2.199
imaging-darkroom 243.414+-0.569 243.286+-0.704
imaging-desaturate 94.767+-1.023 ? 94.965+-0.832 ?
imaging-gaussian-blur 157.467+-6.050 155.642+-1.871 might be 1.0117x faster
json-parse-financial 66.330+-2.550 ? 67.199+-0.808 ? might be 1.0131x slower
json-stringify-tinderbox 92.033+-8.395 88.973+-2.024 might be 1.0344x faster
stanford-crypto-aes 86.912+-5.236 84.685+-0.869 might be 1.0263x faster
stanford-crypto-ccm 80.071+-12.848 ? 86.040+-3.715 ? might be 1.0746x slower
stanford-crypto-pbkdf2 233.448+-1.763 233.192+-1.700
stanford-crypto-sha256-iterative 72.031+-1.243 ? 72.266+-1.185 ?
<arithmetic> * 169.994+-1.159 169.543+-0.680 might be 1.0027x faster
<geometric> 141.687+-1.754 141.596+-0.538 might be 1.0006x faster
<harmonic> 121.583+-2.365 ? 121.903+-0.508 ? might be 1.0026x slower
trunk new
JSRegress:
ArrayBuffer-DataView-alloc-large-long-lived
97.3572+-3.4359 95.8818+-1.0624 might be 1.0154x faster
ArrayBuffer-DataView-alloc-long-lived 25.9559+-0.8006 ? 26.0463+-0.6025 ?
ArrayBuffer-Int32Array-byteOffset 4.5400+-0.1272 4.4485+-0.1261 might be 1.0206x faster
ArrayBuffer-Int8Array-alloc-large-long-lived
100.7927+-0.8229 99.6646+-0.5733 might be 1.0113x faster
ArrayBuffer-Int8Array-alloc-long-lived-buffer
42.3745+-1.7445 42.2577+-1.6292
ArrayBuffer-Int8Array-alloc-long-lived 24.8950+-0.9191 ? 24.9928+-0.5238 ?
ArrayBuffer-Int8Array-alloc 22.3423+-0.3737 ! 25.0068+-2.0731 ! definitely 1.1193x slower
DataView-custom-properties 102.4981+-1.1684 102.4083+-1.4638
Float32Array-matrix-mult 6.0122+-0.4811 5.7880+-0.0957 might be 1.0387x faster
Float32Array-to-Float64Array-set 76.9008+-1.6195 75.6057+-0.6338 might be 1.0171x faster
Float64Array-alloc-long-lived 86.6112+-0.8535 ? 86.9607+-1.4570 ?
Float64Array-to-Int16Array-set 92.4695+-0.9213 ? 93.1053+-0.7701 ?
HashMap-put-get-iterate-keys 35.2932+-0.9851 34.7232+-0.5224 might be 1.0164x faster
HashMap-put-get-iterate 34.8567+-1.2014 34.6005+-0.9756
HashMap-string-put-get-iterate 39.3088+-0.9379 ? 39.3920+-1.6893 ?
Int16Array-alloc-long-lived 61.3763+-1.2997 61.3468+-1.0823
Int16Array-bubble-sort-with-byteLength 39.3535+-0.8651 ? 40.0010+-0.6835 ? might be 1.0165x slower
Int16Array-bubble-sort 38.8199+-1.4020 38.3281+-0.0893 might be 1.0128x faster
Int16Array-load-int-mul 1.8150+-0.0767 1.7565+-0.0029 might be 1.0333x faster
Int16Array-to-Int32Array-set 77.9678+-4.5355 73.1669+-2.0373 might be 1.0656x faster
Int32Array-Int8Array-view-alloc 12.0813+-0.3311 12.0428+-0.1900
Int32Array-alloc-large 36.5181+-0.9699 36.3277+-2.0073
Int32Array-alloc-long-lived 68.7080+-0.8471 68.4210+-0.4964
Int32Array-alloc 4.0140+-0.1558 3.9153+-0.0716 might be 1.0252x faster
Int8Array-alloc-long-lived 55.1988+-0.1708 55.1520+-0.2853
Int8Array-load-with-byteLength 4.6535+-0.1590 ? 4.7478+-0.0435 ? might be 1.0203x slower
Int8Array-load 4.7151+-0.0821 4.6475+-0.1486 might be 1.0146x faster
abs-boolean 3.6160+-0.1836 ? 3.8028+-0.5335 ? might be 1.0516x slower
adapt-to-double-divide 17.9895+-0.4338 ? 18.4615+-0.5426 ? might be 1.0262x slower
aliased-arguments-getbyval 1.0355+-0.1234 1.0140+-0.0393 might be 1.0211x faster
allocate-big-object 3.2209+-0.4179 ? 3.2352+-0.6196 ?
arity-mismatch-inlining 1.0099+-0.1330 ? 1.0356+-0.0625 ? might be 1.0254x slower
array-access-polymorphic-structure 10.3007+-4.1776 8.9683+-0.3016 might be 1.1486x faster
array-nonarray-polymorhpic-access 51.1737+-0.1504 ? 51.2394+-1.1952 ?
array-prototype-every 102.2097+-3.9338 101.0085+-2.3434 might be 1.0119x faster
array-prototype-forEach 101.3698+-3.2733 99.6078+-1.5957 might be 1.0177x faster
array-prototype-map 133.2789+-34.1160 123.4522+-1.3388 might be 1.0796x faster
array-prototype-some 99.8805+-1.8827 ? 100.3207+-2.7715 ?
array-splice-contiguous 58.4470+-1.6021 58.0992+-2.4043
array-with-double-add 5.9401+-0.4552 5.8544+-0.3303 might be 1.0146x faster
array-with-double-increment 5.2840+-0.1719 ^ 4.0134+-0.1031 ^ definitely 1.3166x faster
array-with-double-mul-add 7.2445+-0.1023 ^ 6.7217+-0.1284 ^ definitely 1.0778x faster
array-with-double-sum 5.4913+-0.0407 ^ 4.2823+-0.0505 ^ definitely 1.2823x faster
array-with-int32-add-sub 10.0712+-0.4625 ? 10.0951+-0.1611 ?
array-with-int32-or-double-sum 5.5071+-0.1888 ^ 4.3101+-0.0911 ^ definitely 1.2777x faster
asmjs_bool_bug 8.8948+-0.4059 8.7845+-0.1602 might be 1.0126x faster
assign-custom-setter-polymorphic 4.1990+-0.1401 ? 4.2360+-0.1328 ?
assign-custom-setter 5.7325+-0.1395 ? 5.8755+-0.3219 ? might be 1.0249x slower
basic-set 13.6956+-0.5616 13.5609+-0.8640
big-int-mul 6.3853+-0.2110 ^ 5.8409+-0.0467 ^ definitely 1.0932x faster
boolean-test 4.0449+-0.1181 ? 4.1285+-0.1637 ? might be 1.0207x slower
branch-fold 4.4426+-0.0982 ? 4.5140+-0.1048 ? might be 1.0161x slower
by-val-generic 10.7855+-0.4182 10.7130+-0.4000
call-spread-apply 17.9584+-0.5803 17.3420+-0.4535 might be 1.0355x faster
call-spread-call 7.7302+-0.1244 7.4745+-0.1442 might be 1.0342x faster
captured-assignments 0.5753+-0.1145 ? 0.6055+-0.1235 ? might be 1.0524x slower
cast-int-to-double 8.0884+-0.2722 ? 8.0911+-0.2574 ?
cell-argument 9.9874+-0.7593 ? 10.1677+-0.5442 ? might be 1.0181x slower
cfg-simplify 3.5567+-0.1136 3.4822+-0.1551 might be 1.0214x faster
chain-getter-access 12.7144+-0.2858 ? 12.8967+-0.4228 ? might be 1.0143x slower
cmpeq-obj-to-obj-other 12.0253+-0.2430 11.7778+-0.4023 might be 1.0210x faster
constant-test 7.3985+-0.3109 ? 7.6592+-0.3309 ? might be 1.0352x slower
delay-tear-off-arguments-strictmode 3.2477+-0.2264 ? 3.2679+-0.0784 ?
destructuring-arguments 7.8487+-0.4360 7.7769+-0.1531
destructuring-swap 7.6842+-0.2032 ? 7.7325+-0.2279 ?
direct-arguments-getbyval 1.0828+-0.1724 ? 1.1212+-0.0695 ? might be 1.0355x slower
div-boolean-double 5.5296+-0.2239 ? 5.7900+-0.7613 ? might be 1.0471x slower
div-boolean 9.8400+-0.1154 ? 9.8826+-0.3421 ?
double-get-by-val-out-of-bounds 5.6375+-0.1685 5.5463+-0.2140 might be 1.0164x faster
double-pollution-getbyval 9.6550+-0.1647 9.6263+-0.2135
double-pollution-putbyoffset 5.2811+-0.1239 5.2794+-0.1128
double-to-int32-typed-array-no-inline 2.6899+-0.2765 ? 2.7589+-0.1016 ? might be 1.0256x slower
double-to-int32-typed-array 2.2664+-0.1439 ? 2.3492+-0.1241 ? might be 1.0365x slower
double-to-uint32-typed-array-no-inline 2.7425+-0.2533 2.7144+-0.1416 might be 1.0104x faster
double-to-uint32-typed-array 2.4970+-0.1628 ? 2.5082+-0.4685 ?
empty-string-plus-int 9.2317+-0.4830 9.1475+-0.3804
emscripten-cube2hash 47.4935+-1.7367 47.1340+-0.6532
external-arguments-getbyval 1.8715+-0.1933 1.7976+-0.1269 might be 1.0411x faster
external-arguments-putbyval 2.5135+-0.2392 2.5004+-0.1099
fixed-typed-array-storage-var-index 1.4930+-0.1519 1.4496+-0.1783 might be 1.0300x faster
fixed-typed-array-storage 1.0734+-0.1025 1.0547+-0.1091 might be 1.0178x faster
fold-double-to-int 18.5867+-0.2272 ? 18.6744+-0.3128 ?
fold-get-by-id-to-multi-get-by-offset-rare-int
23.6448+-0.8949 ? 23.7630+-2.3937 ?
fold-get-by-id-to-multi-get-by-offset 24.2097+-4.1580 23.5735+-3.5596 might be 1.0270x faster
fold-multi-get-by-offset-to-get-by-offset
15.1644+-0.3032 ? 15.6575+-0.6008 ? might be 1.0325x slower
fold-multi-get-by-offset-to-poly-get-by-offset
15.7700+-0.4367 ? 15.8715+-0.5219 ?
fold-multi-put-by-offset-to-poly-put-by-offset
16.4360+-0.4945 ? 16.6545+-0.5775 ? might be 1.0133x slower
fold-multi-put-by-offset-to-put-by-offset
15.6589+-0.9471 14.9768+-0.2524 might be 1.0455x faster
fold-multi-put-by-offset-to-replace-or-transition-put-by-offset
20.6778+-1.9222 20.1003+-0.8254 might be 1.0287x faster
fold-put-by-id-to-multi-put-by-offset 26.7046+-2.5338 25.4840+-2.1567 might be 1.0479x faster
fold-put-structure 14.9184+-0.2645 ? 15.0969+-0.0805 ? might be 1.0120x slower
for-of-iterate-array-entries 7.6389+-0.9460 ? 7.7510+-0.3536 ? might be 1.0147x slower
for-of-iterate-array-keys 3.7406+-0.0562 3.7153+-0.1698
for-of-iterate-array-values 3.0871+-0.2406 ? 3.1315+-0.1479 ? might be 1.0144x slower
fround 22.5454+-1.2545 22.3790+-1.1325
ftl-library-inlining-dataview 100.1414+-3.2091 94.7607+-6.4193 might be 1.0568x faster
ftl-library-inlining 102.8000+-0.3419 ^ 101.2690+-0.8875 ^ definitely 1.0151x faster
function-dot-apply 2.1699+-0.2255 2.0370+-0.0879 might be 1.0653x faster
function-test 4.6501+-0.1041 4.5907+-0.1714 might be 1.0129x faster
function-with-eval 83.1962+-3.4275 ! 156.1515+-5.0858 ! definitely 1.8769x slower
gcse-poly-get-less-obvious 24.8456+-0.2946 24.8115+-0.1441
gcse-poly-get 25.2722+-1.0728 24.7210+-0.5660 might be 1.0223x faster
gcse 6.4001+-0.1317 ? 6.5253+-0.3935 ? might be 1.0196x slower
get-by-id-bimorphic-check-structure-elimination-simple
3.2635+-0.0590 3.2438+-0.1475
get-by-id-bimorphic-check-structure-elimination
8.4243+-0.3860 8.1263+-0.1624 might be 1.0367x faster
get-by-id-chain-from-try-block 7.0596+-0.0896 ! 15.3472+-0.5671 ! definitely 2.1740x slower
get-by-id-check-structure-elimination 7.4090+-0.1354 ? 7.4132+-0.0973 ?
get-by-id-proto-or-self 24.2101+-3.3522 22.9350+-3.2288 might be 1.0556x faster
get-by-id-quadmorphic-check-structure-elimination-simple
3.9620+-0.2566 3.8264+-0.0900 might be 1.0354x faster
get-by-id-self-or-proto 24.6826+-2.4434 22.9893+-0.3495 might be 1.0737x faster
get-by-val-out-of-bounds 5.4680+-0.0986 ? 5.5283+-0.1254 ? might be 1.0110x slower
get_callee_monomorphic 5.0359+-0.2171 ? 5.2184+-1.2401 ? might be 1.0362x slower
get_callee_polymorphic 4.1282+-0.1065 4.0430+-0.3064 might be 1.0211x faster
getter-no-activation 5.6325+-0.0612 5.6305+-0.0499
getter-richards 165.6113+-14.1682 ? 170.2922+-14.9029 ? might be 1.0283x slower
getter 6.5789+-0.8772 6.3615+-0.1869 might be 1.0342x faster
global-var-const-infer-fire-from-opt 1.3208+-0.2677 1.1713+-0.1376 might be 1.1276x faster
global-var-const-infer 1.0441+-0.2081 1.0087+-0.2202 might be 1.0352x faster
hoist-make-rope 14.5331+-2.4214 ? 14.8577+-1.0343 ? might be 1.0223x slower
hoist-poly-check-structure-effectful-loop
6.7030+-0.3880 6.4660+-0.0938 might be 1.0367x faster
hoist-poly-check-structure 4.7939+-0.1280 ? 4.8022+-0.1001 ?
imul-double-only 10.0959+-0.2503 9.8100+-0.1567 might be 1.0291x faster
imul-int-only 12.5502+-0.5616 ? 12.6119+-0.7319 ?
imul-mixed 9.5864+-0.2909 ? 9.6010+-0.2540 ?
in-four-cases 24.1744+-0.2569 ! 26.6365+-0.6373 ! definitely 1.1018x slower
in-one-case-false 12.9275+-0.0656 ! 14.8489+-0.3833 ! definitely 1.1486x slower
in-one-case-true 12.9958+-0.1157 ! 15.1489+-0.4233 ! definitely 1.1657x slower
in-two-cases 13.2244+-0.2285 ! 15.6136+-0.4981 ! definitely 1.1807x slower
indexed-properties-in-objects 3.7676+-0.1120 3.6992+-0.0979 might be 1.0185x faster
infer-closure-const-then-mov-no-inline 4.3063+-0.1981 4.2958+-0.0779
infer-closure-const-then-mov 24.6008+-0.0431 ? 24.7773+-0.6320 ?
infer-closure-const-then-put-to-scope-no-inline
15.1365+-0.4761 ? 15.2717+-0.5449 ?
infer-closure-const-then-put-to-scope 28.0580+-0.5604 27.9103+-0.4668
infer-closure-const-then-reenter-no-inline
64.7230+-0.9657 64.5465+-0.6942
infer-closure-const-then-reenter 28.3815+-1.2527 27.8060+-0.3348 might be 1.0207x faster
infer-constant-global-property 4.7981+-0.1804 4.5496+-0.0797 might be 1.0546x faster
infer-constant-property 3.1982+-0.1472 3.1768+-0.1201
infer-one-time-closure-ten-vars 14.5893+-0.6905 ? 14.9627+-0.5902 ? might be 1.0256x slower
infer-one-time-closure-two-vars 14.3751+-0.5808 14.2285+-0.5050 might be 1.0103x faster
infer-one-time-closure 14.1490+-0.6365 14.1168+-0.6145
infer-one-time-deep-closure 24.4178+-0.4631 ? 24.8679+-0.4782 ? might be 1.0184x slower
inline-arguments-access 2.0373+-0.0982 1.9427+-0.0875 might be 1.0487x faster
inline-arguments-aliased-access 2.2072+-0.1368 ? 2.2163+-0.0869 ?
inline-arguments-local-escape 16.2241+-0.3065 16.2212+-0.3667
inline-get-scoped-var 5.6125+-0.1515 5.4924+-0.0922 might be 1.0219x faster
inlined-put-by-id-transition 13.0063+-0.3099 ? 13.1935+-0.1440 ? might be 1.0144x slower
int-or-other-abs-then-get-by-val 6.8629+-0.1333 6.8237+-0.1824
int-or-other-abs-zero-then-get-by-val 26.7563+-0.5713 26.7167+-0.2877
int-or-other-add-then-get-by-val 5.7928+-0.1616 ? 5.8593+-0.0949 ? might be 1.0115x slower
int-or-other-add 7.6847+-0.0706 ? 7.8597+-0.1507 ? might be 1.0228x slower
int-or-other-div-then-get-by-val 4.9929+-0.1380 4.9858+-0.1245
int-or-other-max-then-get-by-val 6.4382+-0.3603 ? 6.5143+-0.5511 ? might be 1.0118x slower
int-or-other-min-then-get-by-val 5.1138+-0.1118 ? 5.4925+-0.9859 ? might be 1.0740x slower
int-or-other-mod-then-get-by-val 4.9650+-0.0931 ? 5.0383+-0.1910 ? might be 1.0148x slower
int-or-other-mul-then-get-by-val 4.9761+-0.1221 4.8384+-0.0292 might be 1.0285x faster
int-or-other-neg-then-get-by-val 6.1806+-0.1388 6.1122+-0.1043 might be 1.0112x faster
int-or-other-neg-zero-then-get-by-val 26.6885+-0.2267 ? 27.0132+-0.5363 ? might be 1.0122x slower
int-or-other-sub-then-get-by-val 5.9343+-0.2818 5.8932+-0.3174
int-or-other-sub 5.0121+-0.0286 ? 5.0670+-0.1755 ? might be 1.0109x slower
int-overflow-local 5.7015+-0.1102 5.6985+-0.1483
int52-spill 9.8583+-0.6452 9.8140+-0.2948
integer-divide 14.2887+-0.4646 14.2217+-0.4471
integer-modulo 2.6442+-0.1225 2.5942+-0.1091 might be 1.0193x faster
large-int-captured 8.8469+-0.0926 ? 9.3004+-0.8677 ? might be 1.0513x slower
large-int-neg 20.8823+-0.4806 20.8337+-0.5318
large-int 18.5309+-0.4782 ? 18.5586+-0.3252 ?
logical-not 6.2531+-0.3600 ? 6.3120+-0.2984 ?
lots-of-fields 13.8754+-0.3938 13.8248+-0.3184
make-indexed-storage 3.9455+-0.1549 ? 3.9680+-0.1959 ?
make-rope-cse 5.6625+-0.2197 ? 5.7275+-0.4071 ? might be 1.0115x slower
marsaglia-larger-ints 52.5544+-0.4431 52.3192+-0.8480
marsaglia-osr-entry 28.4438+-1.4484 27.7687+-1.5182 might be 1.0243x faster
max-boolean 3.2485+-0.1549 3.2081+-0.1165 might be 1.0126x faster
method-on-number 23.0635+-0.6680 ? 23.6010+-1.9307 ? might be 1.0233x slower
min-boolean 3.1523+-0.1953 ? 3.2213+-0.2217 ? might be 1.0219x slower
minus-boolean-double 4.1823+-0.0621 ? 4.2234+-0.2035 ?
minus-boolean 3.1495+-0.0384 3.0975+-0.0978 might be 1.0168x faster
misc-strict-eq 54.4510+-0.7330 ? 54.5323+-0.9807 ?
mod-boolean-double 11.7535+-0.2001 11.7350+-0.1161
mod-boolean 8.8682+-0.2032 ? 9.0213+-0.3051 ? might be 1.0173x slower
mul-boolean-double 4.8328+-0.2004 4.7028+-0.0715 might be 1.0276x faster
mul-boolean 3.4303+-0.2311 ? 3.4502+-0.0425 ?
neg-boolean 4.2693+-0.1713 4.1771+-0.0511 might be 1.0221x faster
negative-zero-divide 0.4561+-0.0869 0.4214+-0.0843 might be 1.0823x faster
negative-zero-modulo 0.4141+-0.0936 ? 0.4722+-0.0937 ? might be 1.1405x slower
negative-zero-negate 0.4157+-0.0950 0.3854+-0.0749 might be 1.0785x faster
nested-function-parsing 34.0085+-1.7444 33.3902+-0.3928 might be 1.0185x faster
new-array-buffer-dead 3.5908+-0.0796 3.5720+-0.1524
new-array-buffer-push 9.4267+-0.3872 9.4265+-0.4452
new-array-dead 15.1836+-1.9909 14.4039+-1.2752 might be 1.0541x faster
new-array-push 6.5841+-0.1444 ? 6.6199+-0.4980 ?
number-test 4.0170+-0.0477 4.0028+-0.1157
object-closure-call 7.9680+-0.2486 7.8068+-0.2405 might be 1.0206x faster
object-test 4.2196+-0.1224 ? 4.5021+-0.8574 ? might be 1.0669x slower
plus-boolean-arith 3.2308+-0.1372 3.2275+-0.1399
plus-boolean-double 4.1545+-0.1545 4.1205+-0.1326
plus-boolean 3.0845+-0.1227 3.0738+-0.0849
poly-chain-access-different-prototypes-simple
3.7789+-0.0816 ? 3.8116+-0.0988 ?
poly-chain-access-different-prototypes 3.0941+-0.1217 ? 3.1296+-0.0901 ? might be 1.0115x slower
poly-chain-access-simpler 3.8383+-0.1440 3.7462+-0.0660 might be 1.0246x faster
poly-chain-access 2.5560+-0.4974 ? 2.9434+-0.2374 ? might be 1.1516x slower
poly-stricteq 68.6254+-3.2734 68.3373+-0.8027
polymorphic-array-call 2.2962+-0.2093 2.2670+-0.3131 might be 1.0129x faster
polymorphic-get-by-id 4.0291+-0.0664 ? 4.0690+-0.0866 ?
polymorphic-put-by-id 78.3923+-36.4988 ? 88.9115+-21.4666 ? might be 1.1342x slower
polymorphic-structure 21.6049+-1.5581 ? 22.2418+-2.3356 ? might be 1.0295x slower
polyvariant-monomorphic-get-by-id 11.5067+-0.4809 11.4717+-0.3223
proto-getter-access 12.8191+-0.8453 12.4185+-0.4072 might be 1.0323x faster
put-by-id-replace-and-transition 11.1255+-0.5229 10.9728+-0.4327 might be 1.0139x faster
put-by-id-slightly-polymorphic 3.4243+-0.0570 3.4235+-0.0838
put-by-id 17.7522+-0.4938 ? 17.8745+-0.4250 ?
put-by-val-direct 0.7703+-0.1148 0.7438+-0.1456 might be 1.0356x faster
put-by-val-large-index-blank-indexing-type
9.1776+-0.4790 8.9000+-0.3800 might be 1.0312x faster
put-by-val-machine-int 3.4036+-0.3834 3.2585+-0.1968 might be 1.0445x faster
rare-osr-exit-on-local 18.2220+-0.3473 ? 18.2778+-0.5874 ?
register-pressure-from-osr 26.5740+-0.2606 ? 26.9211+-0.5275 ? might be 1.0131x slower
setter 6.3839+-0.2118 6.3508+-0.0906
simple-activation-demo 29.6453+-1.0955 ! 36.4714+-1.9041 ! definitely 1.2303x slower
simple-getter-access 18.5662+-0.5804 18.3480+-0.7108 might be 1.0119x faster
simple-poly-call-nested 20.0786+-2.4943 ? 21.7625+-0.3935 ? might be 1.0839x slower
simple-poly-call 1.5480+-0.0384 1.4583+-0.0871 might be 1.0615x faster
sin-boolean 24.9341+-2.9988 ? 26.5929+-1.4574 ? might be 1.0665x slower
slow-array-profile-convergence 3.8865+-0.0615 3.7200+-0.2469 might be 1.0448x faster
slow-convergence 4.4453+-0.2723 4.3760+-0.3013 might be 1.0158x faster
sparse-conditional 1.4138+-0.1091 1.3870+-0.1545 might be 1.0193x faster
splice-to-remove 21.1300+-1.1184 20.7866+-0.3046 might be 1.0165x faster
string-char-code-at 19.7755+-0.3154 ? 19.8210+-0.3630 ?
string-concat-object 2.7063+-0.1833 ? 2.8155+-0.2392 ? might be 1.0403x slower
string-concat-pair-object 2.6474+-0.2552 ? 2.8273+-0.3575 ? might be 1.0679x slower
string-concat-pair-simple 15.5492+-0.7819 15.3300+-0.1960 might be 1.0143x faster
string-concat-simple 15.8642+-0.3472 15.5541+-0.4581 might be 1.0199x faster
string-cons-repeat 10.5333+-0.6848 ? 11.1922+-0.8229 ? might be 1.0626x slower
string-cons-tower 9.6116+-0.7649 9.4909+-0.3082 might be 1.0127x faster
string-equality 22.0080+-0.5545 ? 22.1172+-0.6376 ?
string-get-by-val-big-char 11.1697+-0.1578 11.0582+-0.4104 might be 1.0101x faster
string-get-by-val-out-of-bounds-insane 5.0310+-0.1872 ? 5.0726+-0.1153 ?
string-get-by-val-out-of-bounds 6.0513+-0.1532 ? 6.0785+-0.1151 ?
string-get-by-val 4.7172+-0.0257 4.6216+-0.1673 might be 1.0207x faster
string-hash 2.6565+-0.1541 2.5916+-0.1149 might be 1.0251x faster
string-long-ident-equality 18.1648+-0.9500 17.8489+-0.2116 might be 1.0177x faster
string-repeat-arith 40.1400+-0.7825 ? 40.8353+-0.8753 ? might be 1.0173x slower
string-sub 78.1988+-1.9952 ? 79.4350+-2.3992 ? might be 1.0158x slower
string-test 4.0105+-0.0856 3.9877+-0.1513
string-var-equality 43.8705+-1.1888 43.7784+-0.3694
structure-hoist-over-transitions 3.4355+-0.1815 3.2816+-0.1731 might be 1.0469x faster
substring-concat-weird 54.5677+-0.8290 53.9385+-1.9745 might be 1.0117x faster
substring-concat 57.3177+-1.3624 56.0110+-0.7174 might be 1.0233x faster
substring 62.7785+-0.8431 ? 63.1728+-1.3244 ?
switch-char-constant 3.2224+-0.0976 3.1656+-0.0879 might be 1.0179x faster
switch-char 8.4738+-0.4793 8.0456+-0.1052 might be 1.0532x faster
switch-constant 9.9037+-0.3186 ? 10.0263+-0.1651 ? might be 1.0124x slower
switch-string-basic-big-var 21.9044+-0.9295 21.3878+-1.7176 might be 1.0242x faster
switch-string-basic-big 24.6849+-1.5369 24.2072+-1.6308 might be 1.0197x faster
switch-string-basic-var 27.0466+-1.7066 26.2705+-1.2075 might be 1.0295x faster
switch-string-basic 26.7123+-3.0252 ? 26.8118+-2.5794 ?
switch-string-big-length-tower-var 25.3033+-0.5067 25.0828+-0.3593
switch-string-length-tower-var 19.9385+-0.2289 ? 19.9758+-0.6070 ?
switch-string-length-tower 14.8730+-0.7826 14.7802+-0.1649
switch-string-short 14.8860+-0.3790 ? 14.8898+-0.2645 ?
switch 14.2159+-1.4498 13.4232+-0.6082 might be 1.0591x faster
tear-off-arguments-simple 2.2306+-0.2356 2.1982+-0.1558 might be 1.0147x faster
tear-off-arguments 3.3708+-0.1013 ? 3.3998+-0.1973 ?
temporal-structure 17.0091+-0.4464 ? 17.4676+-0.7893 ? might be 1.0270x slower
to-int32-boolean 20.6157+-0.1784 ? 20.8595+-0.4521 ? might be 1.0118x slower
undefined-test 4.1368+-0.1496 ? 4.2275+-0.0861 ? might be 1.0219x slower
unprofiled-licm 27.8668+-0.5731 27.8293+-0.6816
weird-inlining-const-prop 2.5056+-0.1129 ? 2.5522+-0.2180 ? might be 1.0186x slower
<arithmetic> 19.0653+-0.2242 ? 19.3383+-0.1028 ? might be 1.0143x slower
<geometric> * 9.7677+-0.0303 ? 9.7836+-0.0497 ? might be 1.0016x slower
<harmonic> 5.0122+-0.0948 4.9804+-0.0634 might be 1.0064x faster
trunk new
AsmBench:
FloatMM.c 954.9017+-2.3480 952.1868+-5.2603
Quicksort.c 568.2938+-8.9915 ? 572.2340+-2.5832 ?
Towers.c 415.2766+-6.1196 ^ 406.7629+-1.9386 ^ definitely 1.0209x faster
bigfib.cpp 677.7020+-4.4867 675.0543+-8.6867
cray.c 678.5350+-6.9271 675.6270+-2.9799
dry.c 653.1493+-15.8654 648.3824+-14.9370
gcc-loops.cpp 6251.5350+-16.4782 ? 6274.3890+-40.5669 ?
n-body.c 1665.8620+-7.7991 ? 1669.2750+-13.9663 ?
stepanov_container.cpp 4899.4773+-26.1879 ? 4899.9140+-24.4666 ?
<arithmetic> 1862.7481+-0.7764 ? 1863.7584+-4.9954 ? might be 1.0005x slower
<geometric> * 1147.6218+-2.7605 1144.2668+-2.8179 might be 1.0029x faster
<harmonic> 844.2597+-3.4973 839.3316+-2.9025 might be 1.0059x faster
trunk new
CompressionBench:
huffman 663.7004+-1.1713 ? 666.3307+-5.6823 ?
arithmetic-simple 587.1888+-6.2651 585.6261+-5.1330
arithmetic-precise 435.5510+-3.4287 ? 437.5726+-2.6610 ?
arithmetic-complex-precise 434.9800+-5.1542 ? 436.6570+-1.5308 ?
arithmetic-precise-order-0 628.7090+-3.8914 625.8972+-10.3276
arithmetic-precise-order-1 483.0079+-8.0341 481.8504+-3.3641
arithmetic-precise-order-2 536.2266+-9.9760 ? 537.2520+-4.8051 ?
arithmetic-simple-order-1 593.4520+-4.9888 ? 598.1525+-4.0405 ?
arithmetic-simple-order-2 675.9573+-5.6961 671.5626+-9.2565
lz-string 437.9857+-4.3175 436.8631+-3.7933
<arithmetic> 547.6759+-1.9294 ? 547.7764+-1.8341 ? might be 1.0002x slower
<geometric> * 540.0953+-1.8286 ? 540.2918+-1.4833 ? might be 1.0004x slower
<harmonic> 532.5181+-1.7167 ? 532.8071+-1.1726 ? might be 1.0005x slower
trunk new
All benchmarks:
<arithmetic> 140.3308+-0.3091 ? 140.5332+-0.4524 ? might be 1.0014x slower
<geometric> 17.1318+-0.0535 ? 17.1622+-0.0638 ? might be 1.0018x slower
<harmonic> 4.3584+-0.0423 4.3501+-0.0177 might be 1.0019x faster
trunk new
Geomean of preferred means:
<scaled-result> 88.7828+-0.3565 88.7261+-0.3550 might be 1.0006x faster
Eggplant:WebKit oliver$
Erik, still needs a pile of perf work :-/
Eggplant:WebKit oliver$ cat jsc-bench-output
Generating benchmark report at /Volumes/Data/git/WebKit/trunk_new_SunSpiderLongSpiderV8SpiderOctaneKrakenJSBenchJSRegressAsmBenchDSPCompressionBench_Eggplant_20140926_1741_report.txt
And raw data at /Volumes/Data/git/WebKit/trunk_new_SunSpiderLongSpiderV8SpiderOctaneKrakenJSBenchJSRegressAsmBenchDSPCompressionBench_Eggplant_20140926_1741.json
Benchmark report for SunSpider, LongSpider, V8Spider, Octane, Kraken, JSBench, JSRegress, AsmBench, DSP, and CompressionBench on Eggplant (MacPro5,1).
VMs tested:
"trunk" at /Volumes/Data/git/WebKit/OpenSourceTrunk/WebKitBuild/Release/DumpRenderTree
"new" at /Volumes/Data/git/WebKit/OpenSource/WebKitBuild/Release/DumpRenderTree
Collected 4 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.
trunk new
SunSpider:
3d-cube 8.0372+-0.3472 ? 8.0449+-0.3805 ?
3d-morph 7.7404+-0.1639 ? 7.9468+-0.2465 ? might be 1.0267x slower
3d-raytrace 9.1626+-0.6693 8.8452+-0.3313 might be 1.0359x faster
access-binary-trees 3.7754+-0.2515 3.7228+-0.3137 might be 1.0141x faster
access-fannkuch 7.6959+-0.4556 ? 7.7692+-0.5620 ?
access-nbody 3.7868+-0.1708 ? 3.7942+-0.2446 ?
access-nsieve 4.7763+-0.2204 ? 4.8467+-0.1741 ? might be 1.0147x slower
bitops-3bit-bits-in-byte 1.6555+-0.0821 ? 1.6725+-0.0586 ? might be 1.0102x slower
bitops-bits-in-byte 5.1183+-0.0611 ? 5.1436+-0.1006 ?
bitops-bitwise-and 2.5732+-0.3278 ? 2.6174+-0.0834 ? might be 1.0172x slower
bitops-nsieve-bits 4.8729+-0.1409 4.7902+-0.1499 might be 1.0173x faster
controlflow-recursive 2.7311+-0.0334 2.7185+-0.2614
crypto-aes 6.0652+-0.2721 ? 6.1232+-0.3953 ?
crypto-md5 3.2298+-0.1755 ? 3.2549+-0.2664 ?
crypto-sha1 3.1595+-0.0667 3.1290+-0.0492
date-format-tofte 14.6100+-0.4754 ! 15.7408+-0.3221 ! definitely 1.0774x slower
date-format-xparb 8.9285+-0.3023 ? 8.9572+-0.1633 ?
math-cordic 3.9310+-0.0816 3.8853+-0.0819 might be 1.0118x faster
math-partial-sums 8.6602+-0.3109 8.5662+-0.0768 might be 1.0110x faster
math-spectral-norm 2.6603+-0.0908 ? 2.6744+-0.2068 ?
regexp-dna 10.9370+-0.0910 ? 11.0090+-0.0891 ?
string-base64 7.0743+-0.4297 ? 7.0927+-0.2050 ?
string-fasta 9.5829+-0.0701 ? 9.7202+-0.3252 ? might be 1.0143x slower
string-tagcloud 14.2985+-0.3331 14.1087+-0.7912 might be 1.0135x faster
string-unpack-code 31.4045+-1.2297 31.3260+-0.4065
string-validate-input 8.6802+-0.2687 ? 8.7847+-0.4849 ? might be 1.0120x slower
<arithmetic> * 7.5057+-0.0876 ? 7.5494+-0.0686 ? might be 1.0058x slower
<geometric> 6.0152+-0.0462 ? 6.0387+-0.0626 ? might be 1.0039x slower
<harmonic> 4.9372+-0.0359 ? 4.9520+-0.0509 ? might be 1.0030x slower
trunk new
LongSpider:
3d-cube 1534.2321+-18.5629 ? 1561.3021+-44.4418 ? might be 1.0176x slower
3d-morph 1864.7997+-6.3330 ? 1867.2993+-8.0657 ?
3d-raytrace 1129.9680+-25.7547 ? 1130.8070+-15.5203 ?
access-binary-trees 1414.9788+-15.8035 1405.9241+-8.4393
access-fannkuch 437.6647+-28.0513 ? 455.7769+-1.8851 ? might be 1.0414x slower
access-nbody 1049.7018+-5.4541 1049.0985+-4.4324
access-nsieve 1420.2693+-2.8981 1418.6148+-8.4866
bitops-3bit-bits-in-byte 49.3855+-0.2232 49.3281+-0.5776
bitops-bits-in-byte 328.4328+-4.6112 ? 329.0225+-2.0424 ?
bitops-nsieve-bits 991.4393+-6.8808 ? 996.0580+-9.9192 ?
controlflow-recursive 714.6027+-3.4570 712.8653+-3.9360
crypto-aes 949.1093+-4.8819 945.4562+-5.7948
crypto-md5 812.9430+-10.9763 ? 820.9272+-24.6550 ?
crypto-sha1 995.1593+-5.1807 ? 998.4819+-9.3664 ?
date-format-tofte 1012.5118+-35.8962 ? 1122.4167+-76.6988 ? might be 1.1085x slower
date-format-xparb 955.8976+-55.9070 ? 1078.4637+-421.9985 ? might be 1.1282x slower
math-cordic 669.4552+-1.9082 ? 673.9792+-10.9438 ?
math-partial-sums 1041.7177+-1.9212 1040.8400+-1.9198
math-spectral-norm 1079.2343+-3.0176 1076.4768+-5.0963
string-base64 647.3073+-7.1353 ? 650.3260+-2.7858 ?
string-fasta 581.2416+-3.6017 580.7050+-4.8051
string-tagcloud 316.4032+-2.3262 ^ 311.0742+-1.8627 ^ definitely 1.0171x faster
<arithmetic> 908.9298+-3.0896 ? 921.6020+-18.8837 ? might be 1.0139x slower
<geometric> * 758.4200+-1.5809 ? 767.4051+-12.0253 ? might be 1.0118x slower
<harmonic> 462.6101+-1.3501 ? 464.8981+-4.7145 ? might be 1.0049x slower
trunk new
V8Spider:
crypto 71.6196+-1.8298 ? 71.9566+-0.2766 ?
deltablue 125.2543+-2.5679 125.1818+-4.3929
earley-boyer 65.7393+-0.3921 65.3777+-1.4256
raytrace 63.8828+-1.4523 62.9153+-1.1320 might be 1.0154x faster
regexp 99.5969+-1.1641 ? 99.8597+-0.8001 ?
richards 123.2543+-5.3895 123.1168+-2.3984
splay 43.7975+-1.5581 ? 44.0093+-0.5615 ?
<arithmetic> 84.7350+-0.8797 84.6310+-0.5342 might be 1.0012x faster
<geometric> * 79.5960+-0.5926 79.4826+-0.5717 might be 1.0014x faster
<harmonic> 74.6144+-0.6265 74.5146+-0.6590 might be 1.0013x faster
trunk new
Octane:
encrypt 0.34260+-0.00121 0.34239+-0.00251
decrypt 6.05621+-0.04066 6.03907+-0.04486
deltablue x2 0.32931+-0.00336 ? 0.33064+-0.00127 ?
earley 1.02987+-0.01493 1.01293+-0.01396 might be 1.0167x faster
boyer 8.11134+-0.10947 8.09513+-0.14823
navier-stokes x2 6.63222+-0.01361 ? 6.63363+-0.00361 ?
raytrace x2 2.82469+-0.05687 ? 2.85692+-0.06921 ? might be 1.0114x slower
richards x2 0.18613+-0.00291 ? 0.18712+-0.00166 ?
splay x2 0.57081+-0.02817 0.57003+-0.01727
regexp x2 47.73218+-0.48441 ? 48.15052+-0.93847 ?
pdfjs x2 75.68153+-0.33489 75.14430+-0.89478
mandreel x2 73.74645+-0.69333 73.04819+-0.56628
gbemu x2 59.77012+-0.33201 ! 63.53819+-0.61828 ! definitely 1.0630x slower
closure 0.47690+-0.00188 0.47274+-0.00297
jquery 5.27571+-0.01922 ! 5.45702+-0.02858 ! definitely 1.0344x slower
box2d x2 19.04854+-0.09714 ^ 18.76295+-0.12226 ^ definitely 1.0152x faster
zlib x2 620.99268+-73.62221 ? 643.03839+-14.82027 ? might be 1.0355x slower
typescript x2 1092.83417+-9.05655 1071.79779+-14.95807 might be 1.0196x faster
<arithmetic> 134.06634+-4.74103 ? 134.31789+-1.85155 ? might be 1.0019x slower
<geometric> * 9.92180+-0.13519 ? 9.97246+-0.03273 ? might be 1.0051x slower
<harmonic> 1.06997+-0.01138 ? 1.07208+-0.00432 ? might be 1.0020x slower
trunk new
Kraken:
ai-astar 470.984+-13.818 467.371+-11.980
audio-beat-detection 168.616+-6.649 167.160+-3.419
audio-dft 214.113+-1.803 213.989+-1.579
audio-fft 110.449+-1.000 ? 110.791+-1.506 ?
audio-oscillator 301.253+-4.435 ? 301.973+-2.783 ?
imaging-darkroom 267.797+-1.410 266.101+-0.582
imaging-desaturate 96.161+-3.814 95.603+-0.585
imaging-gaussian-blur 157.688+-2.395 ? 157.690+-1.153 ?
json-parse-financial 71.547+-0.260 ? 72.536+-0.841 ? might be 1.0138x slower
json-stringify-tinderbox 97.650+-7.345 93.982+-1.977 might be 1.0390x faster
stanford-crypto-aes 102.300+-0.670 101.765+-1.655
stanford-crypto-ccm 113.288+-15.996 108.508+-21.265 might be 1.0440x faster
stanford-crypto-pbkdf2 221.427+-3.825 ? 222.902+-2.198 ?
stanford-crypto-sha256-iterative 100.465+-0.595 100.147+-1.121
<arithmetic> * 178.124+-2.189 177.180+-1.640 might be 1.0053x faster
<geometric> 153.739+-2.393 152.704+-2.045 might be 1.0068x faster
<harmonic> 136.009+-2.662 134.959+-2.301 might be 1.0078x faster
trunk new
JSBench:
amazon 8.0000+-0.0000 ? 8.5000+-0.9187 ? might be 1.0625x slower
facebook 29.7500+-0.7956 27.7500+-1.5235 might be 1.0721x faster
google 61.2500+-2.0022 ! 65.0000+-1.2992 ! definitely 1.0612x slower
twitter 8.5000+-0.9187 8.2500+-0.7956 might be 1.0303x faster
yahoo 4.0000+-0.0000 ? 4.2500+-0.7956 ? might be 1.0625x slower
<arithmetic> * 22.3000+-0.5512 ? 22.7500+-0.7057 ? might be 1.0202x slower
<geometric> 13.7691+-0.3763 ? 13.9841+-0.9206 ? might be 1.0156x slower
<harmonic> 9.2096+-0.2278 ? 9.4862+-0.9311 ? might be 1.0300x slower
trunk new
JSRegress:
ArrayBuffer-DataView-alloc-large-long-lived
107.8260+-1.0397 ? 109.6958+-3.5699 ? might be 1.0173x slower
ArrayBuffer-DataView-alloc-long-lived 38.9818+-0.4502 38.9196+-0.4151
ArrayBuffer-Int32Array-byteOffset 4.2441+-0.1401 ? 4.3620+-0.3451 ? might be 1.0278x slower
ArrayBuffer-Int8Array-alloc-large-long-lived
114.7353+-2.1406 ? 115.5947+-1.5681 ?
ArrayBuffer-Int8Array-alloc-long-lived-buffer
91.6796+-1.2505 91.5497+-1.3595
ArrayBuffer-Int8Array-alloc-long-lived 37.4330+-0.3360 ? 37.7695+-0.5955 ?
ArrayBuffer-Int8Array-alloc 33.7652+-0.3652 ? 35.7720+-2.6342 ? might be 1.0594x slower
DataView-custom-properties 113.3420+-1.7344 ? 113.7358+-2.9804 ?
Float32Array-matrix-mult 5.9636+-0.0213 ? 6.1615+-0.2869 ? might be 1.0332x slower
Float32Array-to-Float64Array-set 85.2844+-3.8737 81.8621+-2.2328 might be 1.0418x faster
Float64Array-alloc-long-lived 121.6812+-0.5515 ? 122.1080+-2.1621 ?
Float64Array-to-Int16Array-set 102.0548+-0.7316 ! 103.2577+-0.0471 ! definitely 1.0118x slower
HashMap-put-get-iterate-keys 35.7951+-0.3225 ? 36.5162+-0.5536 ? might be 1.0201x slower
HashMap-put-get-iterate 35.3416+-0.7429 ? 35.5505+-0.5628 ?
HashMap-string-put-get-iterate 53.3870+-1.1426 52.8480+-0.2415 might be 1.0102x faster
Int16Array-alloc-long-lived 71.2784+-0.6918 ? 72.0386+-0.8130 ? might be 1.0107x slower
Int16Array-bubble-sort-with-byteLength 38.7940+-0.2689 ? 39.1146+-0.7260 ?
Int16Array-bubble-sort 37.6426+-0.1125 ? 37.7499+-0.2162 ?
Int16Array-load-int-mul 1.8943+-0.0575 ? 1.9179+-0.1881 ? might be 1.0125x slower
Int16Array-to-Int32Array-set 86.9604+-1.4586 83.7567+-1.8315 might be 1.0383x faster
Int32Array-Int8Array-view-alloc 20.8069+-0.3964 20.3136+-0.1662 might be 1.0243x faster
Int32Array-alloc-large 37.5475+-3.6022 35.9747+-1.4096 might be 1.0437x faster
Int32Array-alloc-long-lived 79.8802+-0.9076 ? 80.5679+-0.7982 ?
Int32Array-alloc 13.2910+-0.2665 ? 13.3802+-0.4773 ?
Int8Array-alloc-long-lived 78.0439+-1.7262 ? 78.3312+-0.4807 ?
Int8Array-load-with-byteLength 4.5592+-0.0945 4.4936+-0.0430 might be 1.0146x faster
Int8Array-load 4.4902+-0.0431 ? 4.4904+-0.0169 ?
abs-boolean 3.4387+-0.0328 ? 3.4850+-0.1010 ? might be 1.0135x slower
adapt-to-double-divide 17.2839+-0.1109 ? 17.3660+-0.3226 ?
aliased-arguments-getbyval 1.0859+-0.1122 1.0385+-0.0588 might be 1.0457x faster
allocate-big-object 7.1984+-0.1335 7.1614+-0.1674
arity-mismatch-inlining 0.9457+-0.0257 ? 0.9467+-0.0665 ?
array-access-polymorphic-structure 15.0616+-0.2178 14.9747+-0.4599
array-nonarray-polymorhpic-access 47.1701+-0.2169 ? 47.4463+-0.6004 ?
array-prototype-every 102.4424+-1.1646 ? 102.7413+-4.9397 ?
array-prototype-forEach 102.7725+-3.9337 100.5615+-3.0017 might be 1.0220x faster
array-prototype-map 128.9551+-1.1988 ? 129.3233+-3.6629 ?
array-prototype-some 101.7195+-2.0909 100.4420+-1.0660 might be 1.0127x faster
array-splice-contiguous 57.6463+-1.2411 57.1817+-0.8797
array-with-double-add 5.3903+-0.2479 ? 5.4631+-0.0911 ? might be 1.0135x slower
array-with-double-increment 3.9280+-0.0897 3.9013+-0.0522
array-with-double-mul-add 6.4797+-0.1763 ? 6.4832+-0.0537 ?
array-with-double-sum 4.1081+-0.0883 ? 4.2283+-0.1722 ? might be 1.0293x slower
array-with-int32-add-sub 9.3719+-0.1951 9.3052+-0.1815
array-with-int32-or-double-sum 4.1529+-0.0424 ? 4.2490+-0.1855 ? might be 1.0231x slower
asmjs_bool_bug 8.4116+-0.0815 ? 8.4730+-0.2744 ?
assign-custom-setter-polymorphic 3.8448+-0.1703 3.8220+-0.1283
assign-custom-setter 5.2825+-0.0285 ? 5.3269+-0.0868 ?
basic-set 14.5090+-1.0087 14.0646+-0.8549 might be 1.0316x faster
big-int-mul 5.6158+-0.0977 5.5303+-0.1096 might be 1.0155x faster
boolean-test 3.9272+-0.1060 3.8688+-0.1836 might be 1.0151x faster
branch-fold 4.4189+-0.0953 4.3800+-0.1744
by-val-generic 0.2522+-0.0180 0.2457+-0.0232 might be 1.0263x faster
call-spread-apply 21.4878+-0.4376 ? 21.5387+-0.5053 ?
call-spread-call 7.4061+-0.0544 7.1602+-0.2277 might be 1.0343x faster
captured-assignments 0.4496+-0.0609 ? 0.4675+-0.0500 ? might be 1.0399x slower
cast-int-to-double 7.7425+-0.1487 ? 7.8834+-0.3430 ? might be 1.0182x slower
cell-argument 9.2980+-0.0975 ? 9.5176+-0.5824 ? might be 1.0236x slower
cfg-simplify 3.4140+-0.0696 3.3771+-0.1562 might be 1.0109x faster
chain-getter-access 0.2519+-0.0255 ? 0.2629+-0.0220 ? might be 1.0439x slower
cmpeq-obj-to-obj-other 11.5536+-0.5975 11.2207+-0.6274 might be 1.0297x faster
constant-test 7.2007+-0.2115 ? 7.2370+-0.1546 ?
delay-tear-off-arguments-strictmode 3.1415+-0.2349 3.0807+-0.1308 might be 1.0197x faster
destructuring-arguments 7.5453+-0.1156 7.3629+-0.0827 might be 1.0248x faster
destructuring-swap 7.2930+-0.0454 7.2896+-0.0695
direct-arguments-getbyval 0.9545+-0.1638 0.9467+-0.0552
div-boolean-double 5.3221+-0.1977 5.2277+-0.1609 might be 1.0180x faster
div-boolean 9.4528+-0.1097 9.3973+-0.1365
double-get-by-val-out-of-bounds 0.2382+-0.0114 ? 0.2440+-0.0193 ? might be 1.0243x slower
double-pollution-getbyval 9.2864+-0.0862 ? 9.3183+-0.0791 ?
double-pollution-putbyoffset 7.0405+-0.2275 ? 7.1900+-0.1882 ? might be 1.0212x slower
double-to-int32-typed-array-no-inline 0.2831+-0.1136 0.2610+-0.0212 might be 1.0847x faster
double-to-int32-typed-array 2.3194+-0.1620 2.2440+-0.1145 might be 1.0336x faster
double-to-uint32-typed-array-no-inline 0.2698+-0.0416 0.2607+-0.0180 might be 1.0346x faster
double-to-uint32-typed-array 2.5398+-0.0993 2.4213+-0.0581 might be 1.0490x faster
empty-string-plus-int 12.8458+-0.1899 12.7897+-0.1403
emscripten-cube2hash 48.3871+-0.8749 ? 48.4771+-1.3154 ?
external-arguments-getbyval 2.1718+-0.1027 ? 2.2669+-0.1394 ? might be 1.0438x slower
external-arguments-putbyval 3.3540+-0.1568 ? 3.3604+-0.2780 ?
fixed-typed-array-storage-var-index 1.3098+-0.0725 ? 1.3745+-0.0808 ? might be 1.0494x slower
fixed-typed-array-storage 1.0413+-0.1483 1.0172+-0.0610 might be 1.0238x faster
fold-double-to-int 17.9765+-0.2905 ? 18.0392+-0.2545 ?
fold-get-by-id-to-multi-get-by-offset-rare-int
23.8616+-3.2814 ? 24.5100+-1.7081 ? might be 1.0272x slower
fold-get-by-id-to-multi-get-by-offset 24.0320+-2.1386 22.5966+-1.8429 might be 1.0635x faster
fold-multi-get-by-offset-to-get-by-offset
15.0237+-0.3711 ? 15.2158+-0.5860 ? might be 1.0128x slower
fold-multi-get-by-offset-to-poly-get-by-offset
15.2049+-0.0943 ? 15.4214+-0.6025 ? might be 1.0142x slower
fold-multi-put-by-offset-to-poly-put-by-offset
16.0687+-0.3671 15.9650+-0.1481
fold-multi-put-by-offset-to-put-by-offset
14.6974+-0.4479 14.5200+-0.4407 might be 1.0122x faster
fold-multi-put-by-offset-to-replace-or-transition-put-by-offset
33.2870+-0.7580 32.3240+-0.4671 might be 1.0298x faster
fold-put-by-id-to-multi-put-by-offset 28.3785+-2.0362 27.5995+-0.9077 might be 1.0282x faster
fold-put-structure 15.0862+-0.2838 14.9202+-0.3857 might be 1.0111x faster
for-of-iterate-array-entries 8.7457+-0.3009 ? 8.7534+-0.3323 ?
for-of-iterate-array-keys 3.4211+-0.1133 ? 3.4264+-0.2408 ?
for-of-iterate-array-values 3.0123+-0.2134 2.9467+-0.2960 might be 1.0222x faster
fround 22.1340+-0.2651 21.9548+-0.3038
ftl-library-inlining-dataview 96.7391+-1.0685 ? 98.1655+-2.9621 ? might be 1.0147x slower
ftl-library-inlining 102.1460+-0.4819 ^ 100.7200+-0.8391 ^ definitely 1.0142x faster
function-dot-apply 2.0932+-0.1134 2.0415+-0.1100 might be 1.0253x faster
function-test 4.2817+-0.1811 ? 4.4261+-0.1347 ? might be 1.0337x slower
function-with-eval 0.2433+-0.0163 0.2425+-0.0175
gcse-poly-get-less-obvious 24.3449+-0.1206 24.2447+-0.1418
gcse-poly-get 24.4053+-0.5789 ? 24.4420+-0.6221 ?
gcse 6.2275+-0.0526 ? 6.2523+-0.1111 ?
get-by-id-bimorphic-check-structure-elimination-simple
3.1693+-0.0628 3.0754+-0.0876 might be 1.0305x faster
get-by-id-bimorphic-check-structure-elimination
7.9679+-0.1279 7.9159+-0.0400
get-by-id-chain-from-try-block 6.8519+-0.3171 ! 15.2319+-0.2104 ! definitely 2.2230x slower
get-by-id-check-structure-elimination 7.2867+-0.2061 7.1917+-0.1915 might be 1.0132x faster
get-by-id-proto-or-self 23.1183+-3.4073 22.9035+-2.3442
get-by-id-quadmorphic-check-structure-elimination-simple
3.7405+-0.0915 3.7238+-0.1050
get-by-id-self-or-proto 23.0307+-2.2505 22.8023+-2.7902 might be 1.0100x faster
get-by-val-out-of-bounds 0.2483+-0.0059 ? 0.2499+-0.0206 ?
get_callee_monomorphic 10.4034+-0.4210 ? 10.5815+-0.3154 ? might be 1.0171x slower
get_callee_polymorphic 7.5233+-0.3592 7.4809+-0.1558
getter-no-activation 5.5009+-0.0967 5.4575+-0.1542
getter-richards 167.0839+-15.1770 166.5098+-21.6945
getter 6.1314+-0.2460 6.0687+-0.1352 might be 1.0103x faster
global-var-const-infer-fire-from-opt 0.2760+-0.0299 0.2595+-0.0222 might be 1.0635x faster
global-var-const-infer 0.2623+-0.0187 0.2469+-0.0264 might be 1.0623x faster
hoist-make-rope 0.2515+-0.0358 0.2396+-0.0051 might be 1.0497x faster
hoist-poly-check-structure-effectful-loop
0.2680+-0.0132 0.2603+-0.0283 might be 1.0298x faster
hoist-poly-check-structure 0.2468+-0.0208 0.2445+-0.0229
imul-double-only 9.6898+-0.4142 ? 9.8018+-0.3955 ? might be 1.0116x slower
imul-int-only 12.2463+-0.6708 ? 12.3934+-0.4797 ? might be 1.0120x slower
imul-mixed 9.2509+-0.0983 ? 9.5786+-0.7560 ? might be 1.0354x slower
in-four-cases 23.4115+-0.1926 ? 23.4348+-0.2503 ?
in-one-case-false 12.0233+-0.2845 ? 12.1350+-0.2925 ?
in-one-case-true 12.0900+-0.3148 ? 12.1337+-0.4538 ?
in-two-cases 12.5684+-0.3179 ? 12.8289+-0.4486 ? might be 1.0207x slower
indexed-properties-in-objects 3.5568+-0.0466 3.4965+-0.0706 might be 1.0172x faster
infer-closure-const-then-mov-no-inline 0.2515+-0.0355 0.2451+-0.0075 might be 1.0262x faster
infer-closure-const-then-mov 24.0643+-0.1402 ? 24.1090+-0.1533 ?
infer-closure-const-then-put-to-scope-no-inline
0.2592+-0.0242 ? 0.2743+-0.0150 ? might be 1.0584x slower
infer-closure-const-then-put-to-scope 27.5095+-0.3125 ? 27.5397+-0.3239 ?
infer-closure-const-then-reenter-no-inline
0.2660+-0.0408 0.2644+-0.0199
infer-closure-const-then-reenter 27.4680+-0.2024 27.4372+-0.2326
infer-constant-global-property 4.4372+-0.0685 4.4365+-0.2467
infer-constant-property 3.0728+-0.1002 3.0416+-0.0402 might be 1.0103x faster
infer-one-time-closure-ten-vars 0.2593+-0.0219 ? 0.2726+-0.0200 ? might be 1.0511x slower
infer-one-time-closure-two-vars 0.2552+-0.0192 0.2547+-0.0141
infer-one-time-closure 0.2442+-0.0079 ? 0.2645+-0.0323 ? might be 1.0830x slower
infer-one-time-deep-closure 0.2614+-0.0183 ? 0.2626+-0.0284 ?
inline-arguments-access 2.0451+-0.1262 1.8887+-0.1037 might be 1.0828x faster
inline-arguments-aliased-access 2.2222+-0.1755 2.2150+-0.0996
inline-arguments-local-escape 28.3149+-1.1768 ? 28.3737+-0.7929 ?
inline-get-scoped-var 5.3543+-0.1134 5.2649+-0.0551 might be 1.0170x faster
inlined-put-by-id-transition 13.3248+-0.2609 13.0893+-0.2042 might be 1.0180x faster
int-or-other-abs-then-get-by-val 6.4259+-0.1705 ? 6.4659+-0.0886 ?
int-or-other-abs-zero-then-get-by-val 26.1198+-0.0763 25.9841+-0.1129
int-or-other-add-then-get-by-val 5.4770+-0.0715 ? 5.5500+-0.1097 ? might be 1.0133x slower
int-or-other-add 7.4975+-0.1881 7.4420+-0.2695
int-or-other-div-then-get-by-val 4.7191+-0.0996 4.6950+-0.0543
int-or-other-max-then-get-by-val 6.2833+-0.4648 ? 6.3904+-0.2067 ? might be 1.0171x slower
int-or-other-min-then-get-by-val 4.8940+-0.1194 4.8737+-0.1008
int-or-other-mod-then-get-by-val 4.7787+-0.0818 4.7291+-0.0351 might be 1.0105x faster
int-or-other-mul-then-get-by-val 4.7581+-0.1416 4.7252+-0.2817
int-or-other-neg-then-get-by-val 5.7530+-0.2911 ? 5.8027+-0.2446 ?
int-or-other-neg-zero-then-get-by-val 26.2015+-0.2131 26.0383+-0.1228
int-or-other-sub-then-get-by-val 5.5230+-0.1260 ? 5.6068+-0.0765 ? might be 1.0152x slower
int-or-other-sub 4.7781+-0.0895 ? 4.8192+-0.1813 ?
int-overflow-local 5.4888+-0.1991 5.4435+-0.1279
int52-spill 0.2508+-0.0159 ? 0.2544+-0.0274 ? might be 1.0144x slower
integer-divide 13.8364+-0.1102 ? 14.0425+-0.3040 ? might be 1.0149x slower
integer-modulo 2.6825+-0.1374 2.6420+-0.1487 might be 1.0153x faster
large-int-captured 15.8890+-0.4381 ? 15.9100+-0.2923 ?
large-int-neg 20.2335+-0.0988 ? 20.2827+-0.1315 ?
large-int 18.0828+-0.1733 17.9912+-0.2110
logical-not 0.2441+-0.0066 ? 0.2540+-0.0244 ? might be 1.0402x slower
lots-of-fields 21.7770+-0.6332 21.2095+-0.3517 might be 1.0268x faster
make-indexed-storage 5.7718+-0.1794 5.6057+-0.4965 might be 1.0296x faster
make-rope-cse 32.3018+-0.3036 ? 32.3922+-0.9796 ?
marsaglia-larger-ints 51.6235+-1.0295 51.5378+-0.7671
marsaglia-osr-entry 28.0246+-0.3858 27.4630+-0.1789 might be 1.0204x faster
max-boolean 3.0781+-0.0181 ? 3.1084+-0.0543 ?
method-on-number 22.9208+-0.4797 ? 23.5095+-0.4611 ? might be 1.0257x slower
min-boolean 3.1067+-0.1587 3.0525+-0.1569 might be 1.0178x faster
minus-boolean-double 3.8900+-0.0645 ? 3.9330+-0.1430 ? might be 1.0111x slower
minus-boolean 3.0867+-0.1243 3.0303+-0.0488 might be 1.0186x faster
misc-strict-eq 51.5834+-0.6080 50.5585+-1.1268 might be 1.0203x faster
mod-boolean-double 11.2785+-0.0652 ? 11.2818+-0.0692 ?
mod-boolean 8.5242+-0.0381 ? 8.5475+-0.0354 ?
mul-boolean-double 4.5712+-0.1496 ? 4.5786+-0.0705 ?
mul-boolean 3.2833+-0.0783 3.2573+-0.1641
neg-boolean 4.0238+-0.0883 3.9736+-0.1003 might be 1.0126x faster
negative-zero-divide 0.3006+-0.0150 ? 0.3020+-0.0201 ?
negative-zero-modulo 0.3400+-0.0835 0.2888+-0.0015 might be 1.1771x faster
negative-zero-negate 0.2914+-0.0305 ? 0.2928+-0.0424 ?
nested-function-parsing 37.7905+-0.4555 37.5276+-0.2955
new-array-buffer-dead 3.8734+-0.2046 3.8638+-0.1887
new-array-buffer-push 17.8457+-0.2481 17.5732+-0.2160 might be 1.0155x faster
new-array-dead 13.8839+-0.7892 ? 14.2078+-0.3943 ? might be 1.0233x slower
new-array-push 9.6138+-0.3310 ? 9.6315+-0.1517 ?
number-test 3.8666+-0.1517 3.7606+-0.0441 might be 1.0282x faster
object-closure-call 7.7451+-0.2676 ? 7.7825+-0.0968 ?
object-test 4.0906+-0.1303 ? 4.1776+-0.1058 ? might be 1.0213x slower
plus-boolean-arith 3.1268+-0.1001 3.0739+-0.0330 might be 1.0172x faster
plus-boolean-double 4.0265+-0.1471 3.9407+-0.0911 might be 1.0218x faster
plus-boolean 2.9817+-0.1020 2.9785+-0.0330
poly-chain-access-different-prototypes-simple
3.5719+-0.0350 ? 3.6480+-0.0894 ? might be 1.0213x slower
poly-chain-access-different-prototypes 2.5198+-0.5809 2.4945+-0.6456 might be 1.0102x faster
poly-chain-access-simpler 3.7128+-0.1279 3.5739+-0.0267 might be 1.0389x faster
poly-chain-access 2.8770+-0.0769 ? 2.8823+-0.0718 ?
poly-stricteq 69.5085+-4.0087 67.4738+-0.8665 might be 1.0302x faster
polymorphic-array-call 1.9602+-0.1574 ? 2.1545+-0.1324 ? might be 1.0991x slower
polymorphic-get-by-id 0.2673+-0.0264 0.2484+-0.0200 might be 1.0762x faster
polymorphic-put-by-id 0.2740+-0.0086 ? 0.2775+-0.1050 ? might be 1.0127x slower
polymorphic-structure 25.1463+-0.2443 ? 25.2110+-0.1826 ?
polyvariant-monomorphic-get-by-id 11.0145+-0.4394 10.9277+-0.1499
proto-getter-access 0.2455+-0.0074 0.2414+-0.0102 might be 1.0172x faster
put-by-id-replace-and-transition 13.1789+-0.1355 13.1070+-0.2813
put-by-id-slightly-polymorphic 3.2845+-0.0536 3.2655+-0.0990
put-by-id 18.2973+-1.2214 ? 18.3098+-0.7822 ?
put-by-val-direct 0.5677+-0.1100 0.4827+-0.0066 might be 1.1762x faster
put-by-val-large-index-blank-indexing-type
19.3476+-0.3913 ? 19.3945+-0.3378 ?
put-by-val-machine-int 0.2443+-0.0216 0.2363+-0.0181 might be 1.0338x faster
rare-osr-exit-on-local 17.7811+-0.4517 ? 17.8700+-0.0692 ?
register-pressure-from-osr 26.2755+-0.2077 26.2359+-0.4817
setter 6.2257+-0.1441 6.2173+-0.2355
simple-activation-demo 30.2559+-0.3452 ! 36.3515+-0.3273 ! definitely 1.2015x slower
simple-getter-access 0.2465+-0.0228 0.2460+-0.0309
simple-poly-call-nested 19.6971+-1.5020 ? 19.9405+-1.9447 ? might be 1.0124x slower
simple-poly-call 1.4870+-0.2209 1.4611+-0.1152 might be 1.0178x faster
sin-boolean 24.0383+-3.1248 ? 24.0493+-4.1494 ?
slow-array-profile-convergence 4.3579+-0.2088 4.1891+-0.1935 might be 1.0403x faster
slow-convergence 4.1458+-0.2624 ? 4.1489+-0.2261 ?
sparse-conditional 1.3713+-0.0823 1.3355+-0.0310 might be 1.0268x faster
splice-to-remove 25.2349+-1.2382 25.0648+-0.3516
string-char-code-at 19.2123+-0.2386 ? 19.2552+-0.2299 ?
string-concat-object 7.5217+-0.2120 7.4966+-0.1683
string-concat-pair-object 7.5088+-0.0641 7.4535+-0.1875
string-concat-pair-simple 16.4830+-0.1573 ? 16.5959+-0.1164 ?
string-concat-simple 16.8845+-0.4354 ? 17.1129+-0.3143 ? might be 1.0135x slower
string-cons-repeat 14.1274+-0.3824 ? 14.3198+-0.2938 ? might be 1.0136x slower
string-cons-tower 13.7117+-0.5769 ? 13.9199+-1.0256 ? might be 1.0152x slower
string-equality 21.8442+-0.3767 ? 21.9089+-0.6392 ?
string-get-by-val-big-char 14.3422+-0.1246 ? 14.4509+-0.2130 ?
string-get-by-val-out-of-bounds-insane 4.7455+-0.0868 ? 4.8166+-0.1337 ? might be 1.0150x slower
string-get-by-val-out-of-bounds 5.8688+-0.0855 ? 5.9568+-0.3616 ? might be 1.0150x slower
string-get-by-val 4.4675+-0.0841 ? 4.5035+-0.0926 ?
string-hash 2.5372+-0.0296 2.5347+-0.1590
string-long-ident-equality 17.5391+-0.0599 ? 17.5997+-0.0896 ?
string-repeat-arith 40.0613+-0.8218 ? 40.1943+-0.5163 ?
string-sub 76.6913+-1.3949 ? 78.9778+-1.5927 ? might be 1.0298x slower
string-test 3.8463+-0.0684 3.7852+-0.2104 might be 1.0161x faster
string-var-equality 43.1098+-0.4012 ? 43.1276+-0.1502 ?
structure-hoist-over-transitions 4.9225+-0.2681 ? 4.9756+-0.4908 ? might be 1.0108x slower
substring-concat-weird 60.7001+-1.1910 59.4293+-0.9316 might be 1.0214x faster
substring-concat 62.0806+-0.5955 61.3253+-1.4810 might be 1.0123x faster
substring 65.2791+-0.3858 64.5017+-1.6673 might be 1.0121x faster
switch-char-constant 3.1339+-0.0939 ? 3.1772+-0.2364 ? might be 1.0138x slower
switch-char 7.5905+-0.2174 7.4483+-0.1097 might be 1.0191x faster
switch-constant 11.9322+-0.4004 ? 12.0416+-0.4681 ?
switch-string-basic-big-var 23.0953+-1.3902 ? 23.7997+-0.5018 ? might be 1.0305x slower
switch-string-basic-big 17.6224+-0.9092 ? 19.1520+-5.7531 ? might be 1.0868x slower
switch-string-basic-var 26.8618+-2.5930 ? 27.0317+-2.1489 ?
switch-string-basic 20.9598+-1.7538 20.9014+-1.5313
switch-string-big-length-tower-var 24.7643+-0.0111 24.6412+-0.1188
switch-string-length-tower-var 19.7814+-0.1407 ^ 19.3397+-0.0505 ^ definitely 1.0228x faster
switch-string-length-tower 14.3389+-0.3720 ? 14.5099+-0.3331 ? might be 1.0119x slower
switch-string-short 14.3417+-0.1609 ? 14.4016+-0.1686 ?
switch 15.8127+-0.4223 15.7347+-0.2052
tear-off-arguments-simple 2.1605+-0.1603 ? 2.1642+-0.1081 ?
tear-off-arguments 3.4145+-0.1290 3.3995+-0.0731
temporal-structure 16.6761+-0.1649 ? 16.7360+-0.2235 ?
to-int32-boolean 20.2645+-0.0698 ? 20.3187+-0.2134 ?
undefined-test 3.9678+-0.1462 ? 3.9976+-0.0965 ?
unprofiled-licm 27.2375+-0.6015 ? 27.2391+-0.6396 ?
weird-inlining-const-prop 0.2522+-0.0298 0.2419+-0.0056 might be 1.0424x faster
<arithmetic> 18.7951+-0.0911 ? 18.8209+-0.1117 ? might be 1.0014x slower
<geometric> * 7.1433+-0.0131 ? 7.1480+-0.0401 ? might be 1.0006x slower
<harmonic> 1.7030+-0.0141 1.6868+-0.0442 might be 1.0096x faster
trunk new
AsmBench:
FloatMM.c 953.0683+-2.8804 ? 954.2560+-3.9269 ?
Quicksort.c 569.3077+-2.3034 568.7673+-2.7100
Towers.c 413.6270+-5.5509 ^ 402.5715+-2.1517 ^ definitely 1.0275x faster
bigfib.cpp 677.4558+-6.2990 ? 680.9818+-4.8977 ?
cray.c 673.8777+-5.7045 ? 677.4255+-7.8755 ?
dry.c 648.4427+-12.4184 648.1900+-14.4740
gcc-loops.cpp 6257.1985+-11.4480 6247.0603+-14.9400
n-body.c 1665.6456+-6.9917 1665.2059+-5.4533
stepanov_container.cpp 4931.5547+-20.3366 4916.7004+-34.8035
<arithmetic> 1865.5753+-2.0970 1862.3510+-6.5790 might be 1.0017x faster
<geometric> * 1146.1907+-1.7071 1143.4387+-4.6137 might be 1.0024x faster
<harmonic> 841.9923+-2.2208 837.8450+-3.5403 might be 1.0049x faster
trunk new
DSP:
filtrr-posterize-tint 36.6970+-0.4850 ? 36.8127+-0.8293 ?
filtrr-tint-contrast-sat-bright 60.2950+-0.6478 ? 61.0861+-0.6625 ? might be 1.0131x slower
filtrr-tint-sat-adj-contr-mult 75.2455+-4.1009 74.1948+-5.1824 might be 1.0142x faster
filtrr-blur-overlay-sat-contr 176.4652+-1.9735 175.4797+-0.4720
filtrr-sat-blur-mult-sharpen-contr 237.8973+-0.7781 ? 239.7888+-5.3622 ?
filtrr-sepia-bias 28.1326+-0.3551 ? 28.4397+-0.1721 ? might be 1.0109x slower
route9-vp8 x5 2676.7426+-334.5456 2573.8235+-349.3248 might be 1.0400x faster
starfield x5 1369.2355+-30.8562 ? 1374.0515+-7.1538 ?
bellard-jslinux x5 4716.2500+-204.0589 ? 5238.2500+-440.7645 ? might be 1.1107x slower
zynaps-quake3 x5 1229.0015+-27.8926 ! 1338.2227+-13.1010 ! definitely 1.0889x slower
zynaps-mandelbrot x5 607.7635+-7.4673 607.0482+-6.1345
ammojs-asm-js x5 97.9078+-40.0499 83.0714+-3.1195 might be 1.1786x faster
ammojs-regular-js x5 261.5507+-4.6343 258.1526+-3.3441 might be 1.0132x faster
<arithmetic> 1351.3900+-56.6403 ? 1414.1195+-79.6333 ? might be 1.0464x slower
<geometric> * 597.9804+-33.6896 597.7302+-13.4622 might be 1.0004x faster
<harmonic> 212.0613+-19.1775 204.8259+-1.9230 might be 1.0353x faster
trunk new
CompressionBench:
huffman 662.7303+-3.1556 ? 663.2542+-1.6947 ?
arithmetic-simple 486.3135+-1.9973 ? 488.7368+-3.3024 ?
arithmetic-precise 379.4584+-5.2586 ? 380.8608+-3.3407 ?
arithmetic-complex-precise 388.6878+-17.6965 ? 393.2120+-7.9407 ? might be 1.0116x slower
arithmetic-precise-order-0 499.9119+-3.9494 499.4966+-3.1889
arithmetic-precise-order-1 431.7598+-5.9271 428.6075+-3.5666
arithmetic-precise-order-2 494.5443+-10.2805 491.9044+-7.0248
arithmetic-simple-order-1 554.3135+-4.1475 ? 560.5196+-8.5896 ? might be 1.0112x slower
arithmetic-simple-order-2 629.1005+-9.8732 626.2887+-2.5305
lz-string 448.4613+-12.0144 ? 454.6389+-13.3505 ? might be 1.0138x slower
<arithmetic> 497.5281+-2.5578 ? 498.7519+-2.1229 ? might be 1.0025x slower
<geometric> * 489.7021+-2.7472 ? 491.0820+-2.1729 ? might be 1.0028x slower
<harmonic> 482.2099+-2.9918 ? 483.7432+-2.2160 ? might be 1.0032x slower
trunk new
All benchmarks:
<arithmetic> 254.2987+-5.3880 ? 260.8829+-8.4404 ? might be 1.0259x slower
<geometric> 19.8560+-0.0963 ? 19.8864+-0.0604 ? might be 1.0015x slower
<harmonic> 2.2554+-0.0134 2.2386+-0.0478 might be 1.0075x faster
trunk new
Geomean of preferred means:
<scaled-result> 91.8612+-0.4369 ? 92.2006+-0.3103 ? might be 1.0037x slower
Eggplant:WebKit oliver$
Progress, i suspect there's some fairly low hanging fruit for me to still fix:
SunSpider:
3d-cube 8.3767+-0.4191 8.1705+-0.6612 might be 1.0252x faster
3d-morph 7.9278+-0.1657 7.8577+-0.0941
3d-raytrace 8.8688+-0.1610 ? 9.0599+-0.7670 ? might be 1.0216x slower
access-binary-trees 3.6864+-0.2559 ? 3.8024+-0.1158 ? might be 1.0315x slower
access-fannkuch 8.3641+-0.4174 7.6986+-0.7284 might be 1.0864x faster
access-nbody 3.9003+-0.1643 3.7155+-0.0274 might be 1.0498x faster
access-nsieve 4.7963+-0.2946 ? 4.8415+-0.2928 ?
bitops-3bit-bits-in-byte 1.6531+-0.0949 ? 1.6860+-0.0708 ? might be 1.0199x slower
bitops-bits-in-byte 5.1691+-0.0881 ? 5.1769+-0.1056 ?
bitops-bitwise-and 2.7198+-0.1052 2.6835+-0.1060 might be 1.0135x faster
bitops-nsieve-bits 4.9032+-0.2318 ? 4.9506+-0.1479 ?
controlflow-recursive 2.7665+-0.2726 2.6155+-0.2045 might be 1.0577x faster
crypto-aes 6.2427+-0.3249 5.9863+-0.0942 might be 1.0428x faster
crypto-md5 3.1999+-0.0887 ? 3.2835+-0.2658 ? might be 1.0261x slower
crypto-sha1 3.2156+-0.1842 3.1306+-0.1658 might be 1.0272x faster
date-format-tofte 14.5623+-0.3514 ? 15.5218+-0.6243 ? might be 1.0659x slower
date-format-xparb 9.0513+-0.5340 8.9205+-0.1932 might be 1.0147x faster
math-cordic 3.8898+-0.1066 ? 3.9113+-0.2361 ?
math-partial-sums 8.5865+-0.3566 8.5417+-0.1130
math-spectral-norm 2.6409+-0.0514 2.6205+-0.0460
regexp-dna 10.9014+-0.0477 ? 10.9755+-0.1458 ?
string-base64 7.2149+-0.3350 7.1946+-0.1809
string-fasta 9.8023+-0.5528 9.6835+-0.5723 might be 1.0123x faster
string-tagcloud 13.9757+-0.3729 ? 13.9843+-0.3908 ?
string-unpack-code 31.6708+-1.3201 31.3936+-0.3904
string-validate-input 8.7354+-0.3919 8.7347+-0.1798
<arithmetic> * 7.5701+-0.1087 7.5439+-0.0310 might be 1.0035x faster
<geometric> 6.0760+-0.0858 6.0385+-0.0309 might be 1.0062x faster
<harmonic> 4.9866+-0.0875 4.9536+-0.0326 might be 1.0067x faster
trunk new
LongSpider:
3d-cube 1516.8100+-32.6403 ? 1547.7325+-23.6898 ? might be 1.0204x slower
3d-morph 1864.4777+-3.2475 1863.6172+-4.2718
3d-raytrace 1123.3193+-17.1668 ? 1132.9290+-4.2166 ?
access-binary-trees 1410.1420+-5.3395 1408.3163+-3.5454
access-fannkuch 442.4086+-23.7692 437.4305+-22.3603 might be 1.0114x faster
access-nbody 1050.9299+-8.5814 1047.5247+-2.4964
access-nsieve 1422.2535+-13.9017 1417.6508+-8.1998
bitops-3bit-bits-in-byte 49.2863+-0.4497 ? 49.4262+-1.2551 ?
bitops-bits-in-byte 330.6915+-3.3575 324.5906+-4.6819 might be 1.0188x faster
bitops-nsieve-bits 990.7068+-8.2197 ? 994.3402+-9.8038 ?
controlflow-recursive 713.5417+-2.7790 713.4115+-2.3054
crypto-aes 952.6440+-6.4712 951.5392+-8.4004
crypto-md5 811.9265+-8.0516 ? 815.9408+-28.4173 ?
crypto-sha1 994.1617+-4.2140 ? 999.4669+-3.5084 ?
date-format-tofte 1005.2809+-11.6001 ! 1103.3309+-10.6773 ! definitely 1.0975x slower
date-format-xparb 957.8361+-23.4868 951.2857+-30.1950
math-cordic 669.1788+-2.4457 ? 669.3642+-2.3866 ?
math-partial-sums 1039.7679+-0.6127 1038.3046+-2.2370
math-spectral-norm 1077.4794+-0.7142 ^ 1075.2446+-1.1731 ^ definitely 1.0021x faster
string-base64 661.5652+-2.9002 ^ 650.8127+-5.5662 ^ definitely 1.0165x faster
string-fasta 583.5947+-7.5084 ? 585.3134+-10.1045 ?
string-tagcloud 317.1887+-2.5632 ^ 310.6396+-3.2821 ^ definitely 1.0211x faster
<arithmetic> 908.4178+-4.0936 ? 913.1006+-0.8718 ? might be 1.0052x slower
<geometric> * 758.9910+-3.2643 ? 760.8687+-2.2827 ? might be 1.0025x slower
<harmonic> 462.9109+-2.0188 462.8414+-5.9006 might be 1.0001x faster
trunk new
V8Spider:
crypto 72.5510+-0.5264 72.2592+-0.5184
deltablue 127.0001+-4.0602 124.5702+-3.0508 might be 1.0195x faster
earley-boyer 67.1586+-3.7442 65.3568+-1.6384 might be 1.0276x faster
raytrace 64.3182+-0.9908 62.7009+-1.0263 might be 1.0258x faster
regexp 99.9855+-0.2373 ? 100.2481+-1.4075 ?
richards 124.1893+-2.9926 123.6370+-4.1585
splay 43.6483+-0.8933 ? 44.0366+-1.8851 ?
<arithmetic> 85.5501+-1.5180 84.6870+-0.9823 might be 1.0102x faster
<geometric> * 80.3167+-1.3181 79.5282+-0.7431 might be 1.0099x faster
<harmonic> 75.2084+-1.1510 74.5428+-0.8131 might be 1.0089x faster
trunk new
Octane:
encrypt 0.34238+-0.00194 ? 0.34278+-0.00159 ?
decrypt 6.03378+-0.02653 ? 6.04173+-0.03543 ?
deltablue x2 0.32995+-0.00770 0.32992+-0.00297
earley 1.02890+-0.01063 1.01555+-0.01123 might be 1.0131x faster
boyer 8.05385+-0.09249 ? 8.13770+-0.06453 ? might be 1.0104x slower
navier-stokes x2 6.61750+-0.02382 ? 6.62350+-0.02061 ?
raytrace x2 2.78994+-0.04053 ? 2.80141+-0.03725 ?
richards x2 0.18857+-0.00448 ? 0.18921+-0.00588 ?
splay x2 0.58454+-0.01317 0.57293+-0.02586 might be 1.0203x faster
regexp x2 47.33064+-0.56600 ? 48.24565+-0.72152 ? might be 1.0193x slower
pdfjs x2 75.30411+-0.36505 74.78432+-0.73183
mandreel x2 73.87283+-1.07753 73.44964+-0.51795
gbemu x2 59.90635+-0.35272 ? 67.86394+-12.85480 ? might be 1.1328x slower
closure 0.47474+-0.00363 0.47198+-0.00137
jquery 5.28041+-0.03151 ! 5.44818+-0.04401 ! definitely 1.0318x slower
box2d x2 19.06110+-0.32085 18.97153+-0.13035
zlib x2 638.96637+-3.73830 614.81968+-66.47500 might be 1.0393x faster
typescript x2 1097.47504+-12.33994 ^ 1069.86572+-9.68195 ^ definitely 1.0258x faster
<arithmetic> 135.53560+-0.96710 132.61643+-4.64515 might be 1.0220x faster
<geometric> * 9.94963+-0.04510 ? 9.98741+-0.14899 ? might be 1.0038x slower
<harmonic> 1.07803+-0.00791 1.07637+-0.01512 might be 1.0015x faster
trunk new
Kraken:
ai-astar 469.492+-14.228 462.612+-12.027 might be 1.0149x faster
audio-beat-detection 167.269+-1.364 ? 167.663+-2.960 ?
audio-dft 212.900+-0.829 212.009+-1.820
audio-fft 110.825+-0.818 110.553+-0.839
audio-oscillator 302.688+-3.820 302.033+-4.872
imaging-darkroom 265.885+-1.086 ? 266.773+-3.709 ?
imaging-desaturate 95.228+-0.586 ? 95.743+-0.961 ?
imaging-gaussian-blur 157.441+-0.945 156.864+-1.570
json-parse-financial 70.777+-1.032 ? 72.806+-1.530 ? might be 1.0287x slower
json-stringify-tinderbox 100.103+-0.811 ^ 92.351+-0.356 ^ definitely 1.0839x faster
stanford-crypto-aes 101.173+-1.323 ? 103.337+-1.076 ? might be 1.0214x slower
stanford-crypto-ccm 119.776+-2.678 114.736+-11.567 might be 1.0439x faster
stanford-crypto-pbkdf2 220.138+-1.212 ? 221.219+-4.577 ?
stanford-crypto-sha256-iterative 100.941+-0.532 ? 100.963+-1.788 ?
<arithmetic> * 178.188+-1.154 177.119+-1.966 might be 1.0060x faster
<geometric> 154.115+-0.538 153.164+-1.773 might be 1.0062x faster
<harmonic> 136.517+-0.312 135.689+-1.637 might be 1.0061x faster
trunk new
JSBench:
amazon 8.2500+-0.7956 8.0000+-0.0000 might be 1.0312x faster
facebook 29.0000+-1.2992 28.0000+-1.2992 might be 1.0357x faster
google 60.7500+-2.7175 ? 63.7500+-0.7956 ? might be 1.0494x slower
twitter 8.0000+-1.2992 7.7500+-0.7956 might be 1.0323x faster
yahoo 4.0000+-0.0000 ? 4.2500+-0.7956 ? might be 1.0625x slower
<arithmetic> * 22.0000+-0.5197 ? 22.3500+-0.3047 ? might be 1.0159x slower
<geometric> 13.5857+-0.4895 ? 13.6117+-0.2444 ? might be 1.0019x slower
<harmonic> 9.1230+-0.4731 ? 9.2078+-0.4490 ? might be 1.0093x slower
Created attachment 238937 [details]
WIP - passes all tests, rebaselined to ToT, but still regresses perf in a few places
Created attachment 239040 [details]
Patch
Attachment 239040 [details] did not pass style-queue:
ERROR: Source/JavaScriptCore/llint/LLIntData.cpp:146: Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons. [readability/comparison_to_zero] [5]
Total errors found: 1 in 25 files
If any of these errors are false positives, please file a bug against check-webkit-style.
Comment on attachment 239040 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=239040&action=review > Source/JavaScriptCore/bytecode/CodeBlock.cpp:3906 > + return; This return would make the code below dead and unreachable. Is this intentional? Comment on attachment 239040 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=239040&action=review >> Source/JavaScriptCore/bytecode/CodeBlock.cpp:3906 >> + return; > > This return would make the code below dead and unreachable. Is this intentional? Whoops, i'll fix this -- it was validation that was failing during bring up Committed r174226: <http://trac.webkit.org/changeset/174226> (In reply to comment #24) > Committed r174226: <http://trac.webkit.org/changeset/174226> This has caused crashes when running the performance test Speedometer/Full.html Reported here: https://bugs.webkit.org/show_bug.cgi?id=137404 Comment on attachment 239040 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=239040&action=review > Source/JavaScriptCore/runtime/JSLexicalEnvironment.cpp:204 > + return JSValue::encode(jsUndefined()); This doesn't seem right. The code below is no longer reachable, did you mean to remove that return statement as well? Comment on attachment 239040 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=239040&action=review >> Source/JavaScriptCore/runtime/JSLexicalEnvironment.cpp:204 >> + return JSValue::encode(jsUndefined()); > > This doesn't seem right. The code below is no longer reachable, did you mean to remove that return statement as well? BTW, how come this did not break any test? Comment on attachment 239040 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=239040&action=review >>> Source/JavaScriptCore/runtime/JSLexicalEnvironment.cpp:204 >>> + return JSValue::encode(jsUndefined()); >> >> This doesn't seem right. The code below is no longer reachable, did you mean to remove that return statement as well? > > BTW, how come this did not break any test? I think the intent was to delete the code below. Comment on attachment 239040 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=239040&action=review >>>> Source/JavaScriptCore/runtime/JSLexicalEnvironment.cpp:204 >>>> + return JSValue::encode(jsUndefined()); >>> >>> This doesn't seem right. The code below is no longer reachable, did you mean to remove that return statement as well? >> >> BTW, how come this did not break any test? > > I think the intent was to delete the code below. Then this function doesn't do anything anymore right? and the 2 variables above are useless. |