-
-
Save gskachkov/1fa1bde66937489f5840 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//functionexp-call.js | |
var fe = function (a, b) { return a + b; }; | |
noInline(fe); | |
function bar(a, b) { | |
return fe(a, b); | |
} | |
noInline(bar); | |
for (var i = 0; i < 1000000; ++i) { | |
var result = bar(1, 2); | |
if (result != 3) | |
throw "Error: bad result: " + result; | |
} | |
//----------------------------------------------------------------- | |
//arrowfunction-call.js | |
var af = (a, b) => a + b; | |
noInline(af); | |
function bar(a, b) { | |
return af(a, b); | |
} | |
noInline(bar); | |
for (var i = 0; i < 1000000; ++i) { | |
var result = bar(1, 2); | |
if (result != 3) | |
throw "Error: bad result: " + result; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
MacBook-Pro-Skachkov:Webkit2 Developer$ Tools/Scripts/run-jsc-benchmarks Foo:/Users/Developer/Projects/Webkit2/WebKitBuild/af_rebase5/Release/jsc
Warning: could not identify checkout location for Foo
Warning: refusing to run Octane because "OctanePath" isn't set in /Users/Developer/.run-jsc-benchmarks.
Warning: refusing to run Kraken because "KrakenPath" isn't set in /Users/Developer/.run-jsc-benchmarks.
Warning: refusing to run JSBench because not all VMs are DumpRenderTree or WebKitTestRunner.
Warning: refusing to run DSPJS because not all VMs are DumpRenderTree or WebKitTestRunner.
Warning: refusing to run CompressionBench because "CompressionBenchPath" isn't set in /Users/Developer/.run-jsc-benchmarks
1618/1618
Generating benchmark report at /Users/Developer/Projects/Webkit2/Foo_SunSpiderLongSpiderV8SpiderJSRegress_MacBook-Pro-Skachkov_20150730_0018_report.txt
And raw data at /Users/Developer/Projects/Webkit2/Foo_SunSpiderLongSpiderV8SpiderJSRegress_MacBook-Pro-Skachkov_20150730_0018.json
Benchmark report for SunSpider, LongSpider, V8Spider, and JSRegress on MacBook-Pro-Skachkov (MacBookPro8,1).
VMs tested:
"Foo" at /Users/Developer/Projects/Webkit2/WebKitBuild/af_rebase5/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.
SunSpider:
3d-cube 9.6283+-2.5001
3d-morph 11.0751+-4.0740
3d-raytrace 12.3043+-3.7906
access-binary-trees 4.0347+-1.2402
access-fannkuch 10.5541+-2.6388
access-nbody 5.0189+-1.5353
access-nsieve 5.4100+-0.6625
bitops-3bit-bits-in-byte 3.3347+-1.0324
bitops-bits-in-byte 5.4489+-0.6438
bitops-bitwise-and 4.0911+-1.3690
bitops-nsieve-bits 5.0477+-0.6140
controlflow-recursive 4.4678+-0.4867
crypto-aes 8.3198+-2.3021
crypto-md5 4.9376+-1.7714
crypto-sha1 4.8286+-0.3880
date-format-tofte 15.5243+-2.5432
date-format-xparb 8.9521+-1.5490
math-cordic 5.5885+-1.1257
math-partial-sums 8.6284+-1.1817
math-spectral-norm 3.9606+-0.4596
regexp-dna 10.1335+-1.7205
string-base64 7.4644+-1.8678
string-fasta 10.2297+-1.1475
string-tagcloud 14.9367+-3.6236
string-unpack-code 30.5570+-1.9409
string-validate-input 8.1019+-1.3772
8.5607+-0.3333
LongSpider:
3d-cube 1269.3828+-225.4860
3d-morph 2092.4095+-49.1617
3d-raytrace 1117.4910+-50.4165
access-binary-trees 1703.9646+-793.2074
access-fannkuch 506.6409+-37.0445
access-nbody 873.8995+-75.6595
access-nsieve 701.0897+-17.3389
bitops-3bit-bits-in-byte 66.4032+-3.6661
bitops-bits-in-byte 133.2261+-36.9162
bitops-nsieve-bits 816.6076+-71.8404
controlflow-recursive 698.7695+-117.9563
crypto-aes 1058.9520+-74.4386
crypto-md5 901.8086+-79.9337
crypto-sha1 1115.8679+-81.9653
date-format-tofte 1103.0013+-124.3115
date-format-xparb 1294.4929+-245.6362
hash-map 269.5145+-21.9076
math-cordic 834.7383+-10.6284
math-partial-sums 809.1913+-31.4708
math-spectral-norm 1234.6685+-69.5594
string-base64 595.9906+-12.7217
string-fasta 686.3373+-119.5027
string-tagcloud 338.5839+-48.9211
707.6643+-25.2732
V8Spider:
crypto 126.0796+-28.8583
deltablue 196.6160+-42.9415
earley-boyer 81.6165+-4.7863
raytrace 70.5833+-2.8713
regexp 118.1564+-10.1991
richards 155.9354+-26.6782
splay 75.2143+-7.2727
109.9903+-7.7598
JSRegress:
abc-forward-loop-equal 61.8320+-3.4291
abc-postfix-backward-loop 69.3220+-12.9166
abc-simple-backward-loop 68.4948+-11.3952
abc-simple-forward-loop 60.2043+-1.2588
abc-skippy-loop 46.4777+-14.5733
abs-boolean 5.2514+-1.4661
adapt-to-double-divide 21.0603+-0.4410
aliased-arguments-getbyval 2.2335+-0.5749
allocate-big-object 3.9520+-0.5748
arguments-named-and-reflective 15.4813+-1.5430
arguments-out-of-bounds 21.1792+-5.8426
arguments-strict-mode 15.0638+-2.9426
arguments 12.1520+-1.1433
arity-mismatch-inlining 1.5248+-0.1513
array-access-polymorphic-structure 10.2892+-3.0838
array-nonarray-polymorhpic-access 49.8069+-6.1687
array-prototype-every 138.0643+-32.2656
array-prototype-forEach 125.9320+-8.2057
array-prototype-map 137.3005+-19.9773
array-prototype-reduce 136.2640+-50.1292
array-prototype-reduceRight 120.4317+-24.5100
array-prototype-some 120.8853+-4.6652
array-splice-contiguous 38.7844+-7.3259
array-with-double-add 7.0825+-1.8659
array-with-double-increment 5.9202+-0.6204
array-with-double-mul-add 9.1482+-0.6240
array-with-double-sum 4.9645+-0.5223
array-with-int32-add-sub 13.1105+-4.8879
array-with-int32-or-double-sum 6.0770+-1.4572
ArrayBuffer-DataView-alloc-large-long-lived
50.7558+-4.6262
ArrayBuffer-DataView-alloc-long-lived 18.7328+-0.9064
ArrayBuffer-Int32Array-byteOffset 5.8435+-0.3407
ArrayBuffer-Int8Array-alloc-large-long-lived
46.3383+-2.9679
ArrayBuffer-Int8Array-alloc-long-lived-buffer
36.5856+-4.9293
ArrayBuffer-Int8Array-alloc-long-lived 20.4897+-5.0472
ArrayBuffer-Int8Array-alloc 15.0690+-0.3420
arrowfunction-call 26.0409+-2.0162
asmjs_bool_bug 11.5439+-1.7154
assign-custom-setter-polymorphic 4.6608+-1.6082
assign-custom-setter 6.3071+-1.6818
basic-set 16.0649+-2.3414
big-int-mul 8.7418+-2.3264
boolean-test 4.6964+-0.3840
branch-fold 6.7280+-0.7066
branch-on-string-as-boolean 29.8527+-3.9512
by-val-generic 12.7363+-2.4852
call-spread-apply 52.4865+-6.8269
call-spread-call 42.0002+-5.4792
captured-assignments 0.6954+-0.0256
cast-int-to-double 8.4796+-0.9041
cell-argument 11.4353+-0.2919
cfg-simplify 4.4107+-0.2341
chain-getter-access 14.9669+-4.8086
cmpeq-obj-to-obj-other 18.6771+-4.1081
constant-test 7.9778+-0.7989
create-lots-of-functions 16.8775+-2.8835
cse-new-array-buffer 4.5039+-0.3662
cse-new-array 4.6967+-0.0699
DataView-custom-properties 55.4797+-5.8329
delay-tear-off-arguments-strictmode 20.9041+-3.3388
deltablue-varargs 348.4585+-29.0862
destructuring-arguments 262.6577+-18.7568
destructuring-parameters-overridden-by-function
0.9934+-0.3592
destructuring-swap 8.1905+-0.2721
direct-arguments-getbyval 2.0736+-0.5025
div-boolean-double 7.3700+-0.5078
div-boolean 10.8965+-0.7165
double-get-by-val-out-of-bounds 8.5478+-0.8163
double-pollution-getbyval 12.1454+-1.0854
double-pollution-putbyoffset 9.4717+-0.6802
double-real-use 40.5055+-5.5642
double-to-int32-typed-array-no-inline 4.1879+-0.4248
double-to-int32-typed-array 4.3015+-1.2283
double-to-uint32-typed-array-no-inline 5.0247+-1.1382
double-to-uint32-typed-array 4.2411+-0.5833
elidable-new-object-dag 56.8358+-3.0686
elidable-new-object-roflcopter 57.8384+-6.5094
elidable-new-object-then-call 53.4713+-8.2380
elidable-new-object-tree 65.6568+-12.4654
empty-string-plus-int 8.9636+-1.0847
emscripten-cube2hash 67.9688+-16.0372
exit-length-on-plain-object 27.2809+-15.9907
external-arguments-getbyval 2.9301+-2.1290
external-arguments-putbyval 4.4348+-0.6457
fixed-typed-array-storage-var-index 2.3347+-0.5916
fixed-typed-array-storage 1.9942+-1.0364
Float32Array-matrix-mult 7.1108+-2.4356
Float32Array-to-Float64Array-set 75.1927+-7.0018
Float64Array-alloc-long-lived 103.8620+-5.0537
Float64Array-to-Int16Array-set 101.4389+-24.6578
fold-double-to-int 22.2565+-3.0027
fold-get-by-id-to-multi-get-by-offset-rare-int
17.3942+-3.6321
fold-get-by-id-to-multi-get-by-offset 20.4122+-14.2212
fold-multi-get-by-offset-to-get-by-offset
15.6149+-4.8431
fold-multi-get-by-offset-to-poly-get-by-offset
15.4885+-4.1572
fold-multi-put-by-offset-to-poly-put-by-offset
15.7043+-6.1847
fold-multi-put-by-offset-to-put-by-offset
13.2110+-2.2887
fold-multi-put-by-offset-to-replace-or-transition-put-by-offset
18.5839+-4.1069
fold-put-by-id-to-multi-put-by-offset 14.9375+-3.3004
fold-put-structure 13.3582+-4.0812
for-of-iterate-array-entries 19.4957+-3.7568
for-of-iterate-array-keys 6.0485+-0.6225
for-of-iterate-array-values 6.3740+-0.7001
fround 25.8267+-1.1533
ftl-library-inlining-dataview 101.7450+-18.4023
ftl-library-inlining 151.4691+-7.5976
function-dot-apply 4.1788+-0.2408
function-test 4.7551+-0.3683
function-with-eval 161.5950+-6.7408
functionexp-call 16.3617+-1.6402
gcse-poly-get-less-obvious 27.1158+-4.1993
gcse-poly-get 32.9068+-6.5396
gcse 8.9844+-1.9849
get-by-id-bimorphic-check-structure-elimination-simple
5.1402+-0.5192
get-by-id-bimorphic-check-structure-elimination
11.7153+-3.4751
get-by-id-chain-from-try-block 7.8067+-1.2749
get-by-id-check-structure-elimination 10.0078+-3.5350
get-by-id-proto-or-self 33.4741+-9.8621
get-by-id-quadmorphic-check-structure-elimination-simple
5.0653+-0.9214
get-by-id-self-or-proto 24.9667+-2.3850
get-by-val-out-of-bounds 7.6075+-1.8111
get_callee_monomorphic 5.2850+-3.4676
get_callee_polymorphic 5.1957+-0.9351
getter-no-activation 10.7772+-4.5406
getter-prototype 19.4183+-0.7151
getter-richards 303.1722+-53.4227
getter 11.0328+-0.8790
global-var-const-infer-fire-from-opt 1.2401+-0.0332
global-var-const-infer 1.3279+-0.4242
HashMap-put-get-iterate-keys 55.8398+-2.7387
HashMap-put-get-iterate 59.6057+-12.9440
HashMap-string-put-get-iterate 49.9093+-6.3424
hoist-make-rope 15.6190+-4.2466
hoist-poly-check-structure-effectful-loop
9.2634+-1.8562
hoist-poly-check-structure 7.3824+-2.0889
imul-double-only 12.2127+-2.5611
imul-int-only 13.5482+-2.1070
imul-mixed 10.9067+-2.2149
in-four-cases 33.8587+-4.8174
in-one-case-false 21.4302+-1.2573
in-one-case-true 20.7401+-5.3578
in-two-cases 21.1695+-4.8218
indexed-properties-in-objects 5.4407+-0.9966
infer-closure-const-then-mov-no-inline 7.3182+-1.2883
infer-closure-const-then-mov 28.0895+-6.0004
infer-closure-const-then-put-to-scope-no-inline
17.6578+-2.7485
infer-closure-const-then-put-to-scope 31.6532+-2.4638
infer-closure-const-then-reenter-no-inline
85.1495+-24.9665
infer-closure-const-then-reenter 32.6525+-3.5982
infer-constant-global-property 5.3099+-0.5841
infer-constant-property 4.5876+-0.5398
infer-one-time-closure-ten-vars 15.9629+-1.4013
infer-one-time-closure-two-vars 16.7459+-3.8313
infer-one-time-closure 15.6241+-1.3290
infer-one-time-deep-closure 30.6389+-2.1153
inline-arguments-access 6.7595+-0.7299
inline-arguments-aliased-access 6.7748+-1.1867
inline-arguments-local-escape 7.2158+-0.6750
inline-get-scoped-var 7.7884+-0.2830
inlined-put-by-id-transition 18.5494+-3.9622
int-or-other-abs-then-get-by-val 8.6448+-1.6614
int-or-other-abs-zero-then-get-by-val 30.5505+-10.0345
int-or-other-add-then-get-by-val 8.5350+-1.0726
int-or-other-add 8.4455+-0.8500
int-or-other-div-then-get-by-val 6.9384+-1.7086
int-or-other-max-then-get-by-val 8.1411+-1.9762
int-or-other-min-then-get-by-val 8.5170+-1.4635
int-or-other-mod-then-get-by-val 8.0107+-2.4527
int-or-other-mul-then-get-by-val 7.7423+-0.5892
int-or-other-neg-then-get-by-val 9.0502+-2.0174
int-or-other-neg-zero-then-get-by-val 25.0020+-3.0241
int-or-other-sub-then-get-by-val 9.8430+-0.9469
int-or-other-sub 6.8323+-0.2585
int-overflow-local 8.8412+-1.5235
Int16Array-alloc-long-lived 82.8831+-28.8116
Int16Array-bubble-sort-with-byteLength 32.3539+-4.7138
Int16Array-bubble-sort 31.7182+-2.7990
Int16Array-load-int-mul 3.4680+-2.8415
Int16Array-to-Int32Array-set 70.6987+-3.7374
Int32Array-alloc-large 29.7400+-2.1218
Int32Array-alloc-long-lived 83.7324+-3.0979
Int32Array-alloc 5.6435+-2.0138
Int32Array-Int8Array-view-alloc 10.1025+-1.4380
int52-spill 10.6235+-1.6902
Int8Array-alloc-long-lived 69.9189+-9.3793
Int8Array-load-with-byteLength 5.7931+-1.2289
Int8Array-load 5.8510+-1.5951
integer-divide 16.6854+-3.1425
integer-modulo 3.9655+-1.4649
is-boolean-fold-tricky 8.1385+-2.1357
is-boolean-fold 4.7073+-0.4800
is-function-fold-tricky-internal-function
21.2440+-6.7286
is-function-fold-tricky 8.1598+-2.8625
is-function-fold 5.0543+-0.7654
is-number-fold-tricky 6.1194+-0.1487
is-number-fold 4.6035+-0.2749
is-object-or-null-fold-functions 4.8680+-0.4272
is-object-or-null-fold-less-tricky 7.8763+-3.4299
is-object-or-null-fold-tricky 10.8466+-1.2513
is-object-or-null-fold 4.7570+-0.5192
is-object-or-null-trickier-function 6.9584+-1.5715
is-object-or-null-trickier-internal-function
21.1120+-5.6730
is-object-or-null-tricky-function 8.0930+-3.7335
is-object-or-null-tricky-internal-function
16.0674+-3.9856
is-string-fold-tricky 6.9462+-1.7729
is-string-fold 4.8407+-0.6141
is-undefined-fold-tricky 7.0328+-1.1493
is-undefined-fold 6.2568+-4.2577
large-int-captured 7.0128+-1.5272
large-int-neg 22.5724+-1.6386
large-int 22.9382+-2.0050
load-varargs-elimination 34.9505+-4.7165
logical-not-weird-types 5.8237+-1.1962
logical-not 9.3873+-5.8499
lots-of-fields 21.1055+-3.0161
make-indexed-storage 4.4858+-0.8065
make-rope-cse 6.5198+-1.0782
marsaglia-larger-ints 64.0157+-10.1556
marsaglia-osr-entry 33.6989+-5.8767
math-with-out-of-bounds-array-values 39.9474+-5.0429
max-boolean 4.4734+-0.8307
method-on-number 28.0556+-5.4950
min-boolean 4.4069+-0.7755
minus-boolean-double 5.0217+-1.4163
minus-boolean 4.4247+-1.5820
misc-strict-eq 52.7911+-4.7204
mod-boolean-double 15.5101+-0.7428
mod-boolean 11.3604+-0.5981
mul-boolean-double 5.0893+-0.2085
mul-boolean 4.3243+-0.6514
neg-boolean 4.9839+-1.1020
negative-zero-divide 0.6402+-0.1620
negative-zero-modulo 0.5931+-0.1420
negative-zero-negate 0.5229+-0.0559
nested-function-parsing 73.9360+-6.0274
new-array-buffer-dead 151.7306+-6.1104
new-array-buffer-push 10.6582+-2.1310
new-array-dead 22.5325+-6.3142
new-array-push 10.5674+-2.2721
no-inline-constructor 58.8570+-13.7956
number-test 4.5995+-0.3181
object-closure-call 10.0181+-1.2524
object-get-own-property-symbols-on-large-array
5.6916+-0.4906
object-test 5.5078+-1.4943
obvious-sink-pathology-taken 185.5477+-19.4593
obvious-sink-pathology 160.4572+-7.6058
obviously-elidable-new-object 44.1771+-5.4062
plus-boolean-arith 4.0243+-0.4026
plus-boolean-double 4.7835+-0.4991
plus-boolean 4.3088+-0.2594
poly-chain-access-different-prototypes-simple
5.4926+-1.6117
poly-chain-access-different-prototypes 4.9752+-1.0143
poly-chain-access-simpler 5.7400+-0.7820
poly-chain-access 4.3249+-0.6871
poly-stricteq 96.2850+-10.9444
polymorphic-array-call 2.1649+-0.0765
polymorphic-get-by-id 5.8458+-1.9387
polymorphic-put-by-id 50.3508+-10.1853
polymorphic-structure 26.7487+-3.6946
polyvariant-monomorphic-get-by-id 15.6093+-1.5466
proto-getter-access 12.9398+-1.2545
put-by-id-replace-and-transition 14.5885+-1.3484
put-by-id-slightly-polymorphic 8.1241+-0.5621
put-by-id 20.0065+-3.4988
put-by-val-direct 0.6927+-0.3796
put-by-val-large-index-blank-indexing-type
8.7198+-1.0888
put-by-val-machine-int 6.8353+-2.8503
rare-osr-exit-on-local 25.0920+-3.0756
register-pressure-from-osr 33.7905+-7.3329
repeat-multi-get-by-offset 36.3445+-6.1928
setter-prototype 15.1720+-3.5220
setter 13.0919+-2.4971
simple-activation-demo 37.4666+-5.4774
simple-getter-access 17.6668+-3.0215
simple-poly-call-nested 13.5529+-1.8998
simple-poly-call 2.5782+-1.0809
sin-boolean 24.2493+-2.0515
singleton-scope 99.1420+-13.0962
sink-function 15.3749+-2.4455
sink-huge-activation 24.9390+-2.7023
sinkable-new-object-dag 102.9526+-12.3686
sinkable-new-object-taken 72.6260+-3.8099
sinkable-new-object 52.1490+-4.9805
slow-array-profile-convergence 4.4340+-0.5663
slow-convergence 4.5087+-1.9936
slow-ternaries 35.4055+-5.9035
sorting-benchmark 29.6965+-3.3571
sparse-conditional 2.2099+-0.3529
splice-to-remove 23.2132+-3.0611
string-char-code-at 24.8922+-3.0046
string-concat-object 3.9015+-0.4800
string-concat-pair-object 3.5329+-0.4184
string-concat-pair-simple 18.1333+-2.1706
string-concat-simple 20.6609+-1.0003
string-cons-repeat 12.1530+-1.6755
string-cons-tower 11.0823+-1.6056
string-equality 30.8323+-5.1923
string-get-by-val-big-char 12.8528+-2.9839
string-get-by-val-out-of-bounds-insane 6.3844+-3.0214
string-get-by-val-out-of-bounds 8.5601+-4.6956
string-get-by-val 6.8212+-2.2269
string-hash 4.2124+-0.7511
string-long-ident-equality 21.9643+-3.2017
string-out-of-bounds 20.8376+-2.8641
string-repeat-arith 63.2332+-19.2849
string-sub 107.7266+-48.9391
string-test 5.3408+-1.2809
string-var-equality 51.2107+-12.8641
structure-hoist-over-transitions 5.1477+-1.5970
substring-concat-weird 68.4886+-12.0641
substring-concat 70.6868+-10.3727
substring 76.0914+-9.6983
switch-char-constant 4.6130+-0.8359
switch-char 12.1641+-2.6335
switch-constant 16.7062+-0.9759
switch-string-basic-big-var 28.5191+-4.5241
switch-string-basic-big 33.9380+-7.4845
switch-string-basic-var 23.2426+-3.6761
switch-string-basic 24.7621+-6.5399
switch-string-big-length-tower-var 30.6607+-1.9042
switch-string-length-tower-var 28.0618+-9.1070
switch-string-length-tower 22.2610+-4.3594
switch-string-short 19.0350+-1.3882
switch 21.4167+-2.3241
tear-off-arguments-simple 6.3705+-2.2816
tear-off-arguments 7.4537+-0.8323
temporal-structure 23.4169+-3.6183
to-int32-boolean 23.9612+-4.7758
try-catch-get-by-val-cloned-arguments 20.8444+-0.7857
try-catch-get-by-val-direct-arguments 11.7598+-3.5217
try-catch-get-by-val-scoped-arguments 11.4318+-1.2105
typed-array-get-set-by-val-profiling 40.2800+-1.5022
undefined-property-access 542.4858+-55.7325
undefined-test 4.7672+-0.1354
unprofiled-licm 32.1827+-8.2304
varargs-call 22.1553+-4.7750
varargs-construct-inline 37.3991+-1.5293
varargs-construct 36.1080+-6.6066
varargs-inline 13.6000+-2.2006
varargs-strict-mode 16.2084+-4.2208
varargs 16.8607+-2.3224
weird-inlining-const-prop 7.3751+-6.4049
14.3648+-0.2166
Geomean of preferred means:
55.6089+-1.1000