Duktape 2.2.0 performance measurement

Octane

Octane sub-scores and overall score. Higher is better, highest of 10 runs. Omits a few Octane tests which fail to run (see Duktape repo tests/octane). Overall score for MuJS and Jerryscript omitted because some sub-scores are missing so an overall score would not be comparable.

Test duk-pgo.O2.220 duk.O2.220 duk-pgo.O2.210 duk.O2.210 duk.O2.200 duk.O2.150 mujs jerry
Box2D 1208 928 1180 830 756 586 311 -
CodeLoad 6276 6542 6127 6310 5676 4579 - -
Crypto 293 280 285 242 185 183 - 193
DeltaBlue 305 220 295 192 178 138 78 166
EarleyBoyer 586 589 530 529 342 291 - -
Gameboy 2209 1783 2197 1491 1324 1119 - -
NavierStokes 843 749 778 687 557 503 - -
PdfJS 855 808 831 754 390 352 - -
RayTrace 468 396 427 352 241 209 330 234
Richards 225 178 220 150 144 112 115 166
Splay 1261 1118 1083 930 696 635 29 -
SplayLatency 2865 5719 2813 4240 3344 2288 266 -
SCORE 888 830 844 724 568 475 - -

Duktape microbenchmarks, comparison to other engines

Baseline is duk.O2.220, compared to a few other engines. Lower is better, lowest of 5 runs.

duk.O2.220 mujs jerry
test-add-fastint 0.67 (4.37) (2.96)
test-add-float 0.71 (4.40) (4.14)
test-add-int 0.70 (4.47) (4.74)
test-add-nan-fastint 0.89 (4.38) (3.49)
test-add-nan 0.70 (4.38) (4.15)
test-add-string 14.26 9.97 13.22
test-arith-add 2.72 (17.45) (16.58)
test-arith-add-string 1.40 1.00 1.31
test-arith-div 7.69 (12.20) (21.04)
test-arith-mod 6.87 (14.80) (25.42)
test-arith-mul 3.93 (12.05) (16.42)
test-arith-sub 2.82 (12.21) (16.92)
test-array-append 0.53 (48.00) -
test-array-cons-list 0.63 (8.79) (2.22)
test-array-foreach 2.23 (3.69) 1.66
test-array-literal-100 2.61 (446.78) (3.92)
test-array-literal-20 0.66 (59.65) (0.91)
test-array-literal-3 0.26 (6.15) 0.24
test-array-pop 1.66 (51.24) (7.07)
test-array-push 2.02 (8.52) (4.02)
test-array-read 1.96 (236.50) (5.73)
test-array-read-lenloop 2.14 (123.30) (4.57)
test-array-sort 3.22 - (4.26)
test-array-write 1.90 (255.16) (6.62)
test-array-write-length 1.60 (3.67) (2.71)
test-assign-add 4.17 (38.24) (25.02)
test-assign-addto 4.18 (37.46) (30.29)
test-assign-addto-nan 1.43 (8.07) (6.44)
test-assign-boolean 5.14 (10.35) (20.94)
test-assign-const-int2 6.15 (10.61) (12.75)
test-assign-const-int 3.01 (10.53) (12.80)
test-assign-const 4.18 (10.74) (18.82)
test-assign-literal 4.42 (10.89) (23.24)
test-assign-proplhs-reg 2.68 2.65 (5.62)
test-assign-proprhs 2.85 2.66 (3.98)
test-assign-reg 3.27 (9.68) (17.20)
test-base64-decode 1.73 - -
test-base64-decode-whitespace 1.94 - -
test-base64-encode 1.87 - -
test-bitwise-ops 1.90 (14.86) (21.80)
test-break-fast 1.23 (1.31) (1.41)
test-break-slow 7.44 2.84 4.60
test-buffer-nodejs-read 2.39 - -
test-buffer-nodejs-write 3.12 - -
test-buffer-object-read 2.41 - -
test-buffer-object-write 3.18 - -
test-buffer-plain-read 1.96 - -
test-buffer-plain-write 1.93 - -
test-call-apply 2.37 (2.52) (2.50)
test-call-basic-1 6.36 6.27 (9.65)
test-call-basic-2 6.51 4.60 (8.83)
test-call-basic-3 8.34 (12.96) (15.18)
test-call-basic-4 17.56 (42.82) (40.11)
test-call-bound-deep 2.98 - (4.45)
test-call-bound 2.84 - 2.02
test-call-call 2.13 1.57 1.73
test-call-native 11.31 (16.99) 8.60
test-call-prop 3.92 3.16 (4.69)
test-call-proxy-apply-1 26.93 - -
test-call-proxy-pass-1 13.81 - -
test-call-reg 2.54 2.48 (3.84)
test-call-reg-new 4.92 3.00 3.38
test-call-tail-1 1.04 - (1.82)
test-call-tail-2 1.16 - (1.99)
test-call-var 5.50 4.87 4.33
test-closure-inner-functions 1.27 0.70 0.26
test-compile-mandel 13.12 6.45 2.40
test-compile-mandel-nofrac 10.06 6.46 2.40
test-compile-short 5.67 2.32 0.97
test-compile-string-ascii 7.93 6.89 -
test-continue-fast 1.55 (2.16) (2.60)
test-continue-slow 7.74 3.66 6.56
test-empty-loop 1.78 (6.40) (3.59)
test-empty-loop-slowpath 0.97 (1.08) 0.71
test-empty-loop-step3 1.82 (8.05) (7.07)
test-enum-basic 3.26 0.71 1.16
test-equals-fastint 0.57 (2.58) (3.36)
test-equals-nonfastint 0.64 (2.58) (4.75)
test-error-create 1.60 (5.09) 0.86
test-fib-2 3.20 (3.68) (5.95)
test-fib 5.90 3.62 5.75
test-func-bind 2.18 - 1.01
test-global-lookup 6.16 4.53 2.75
test-hello-world 0.00 0.00 0.00
test-hex-decode 4.01 - -
test-hex-encode 3.21 - -
test-jc-serialize-indented 3.17 - -
test-jc-serialize 2.15 - -
test-json-parse-hex 3.47 - -
test-json-parse-integer 2.90 (23.51) -
test-json-parse-number 5.09 2.70 -
test-json-parse-string 5.23 (51.66) -
test-json-serialize-fastpath-loop 3.32 (13.44) (581.44)
test-json-serialize-forceslow 9.51 2.40 9.14
test-json-serialize-hex 1.54 - -
test-json-serialize-indented-deep100 1.38 (1.60) (149.64)
test-json-serialize-indented-deep25 3.17 (11.84) (280.97)
test-json-serialize-indented-deep500 0.94 - -
test-json-serialize-indented 5.57 (16.33) (108.33)
test-json-serialize 6.40 2.37 (9.06)
test-json-serialize-jsonrpc-message 3.11 - -
test-json-serialize-nofrac 0.62 (1.74) (7.26)
test-json-serialize-plainbuf 2.55 - -
test-json-serialize-slowpath-loop 3.42 - (11.18)
test-json-string-bench 2.80 (53.98) -
test-json-string-stringify 10.05 (11.67) -
test-jx-serialize-bufobj-forceslow 4.11 - -
test-jx-serialize-bufobj 1.52 - -
test-jx-serialize-indented 3.04 - -
test-jx-serialize 2.08 - -
test-mandel 2.94 (15.22) (14.56)
test-math-clz32 2.21 - -
test-misc-1dcell 3.70 (127.98) (8.58)
test-object-garbage-2 2.61 (54.54) (3.31)
test-object-garbage 4.05 2.68 2.78
test-object-literal-100 7.10 (30.28) (12.54)
test-object-literal-20 1.62 (4.30) (2.27)
test-object-literal-3 0.36 (0.52) (0.39)
test-prop-read-1024 3.31 (6.82) (4.46)
test-prop-read-16 3.32 (4.48) (4.43)
test-prop-read-256 3.27 (8.29) (4.43)
test-prop-read-32 3.32 (5.62) (4.44)
test-prop-read-48 3.34 (6.52) (4.42)
test-prop-read-4 3.43 (4.00) (4.42)
test-prop-read-64 3.31 (6.52) (4.34)
test-prop-read-8 3.32 (4.93) (4.43)
test-prop-read-inherited 4.76 4.75 (9.40)
test-prop-read 3.44 (3.96) (4.43)
test-prop-write-1024 3.14 (10.39) (5.26)
test-prop-write-16 3.20 (4.46) (5.27)
test-prop-write-256 3.14 (8.21) (5.32)
test-prop-write-32 3.18 (5.52) (5.32)
test-prop-write-48 3.22 (6.57) (5.29)
test-prop-write-4 3.20 (3.93) (5.30)
test-prop-write-64 3.21 (6.55) (5.32)
test-prop-write-8 3.16 (4.92) (5.26)
test-prop-write 3.25 (3.95) (5.28)
test-proxy-get 1.62 - -
test-random 1.61 1.14 (2.14)
test-reflect-ownkeys-sorted 1.11 - -
test-reflect-ownkeys-unsorted 1.12 - -
test-regexp-case-insensitive-compile 0.71 0.00 0.00
test-regexp-case-insensitive-execute 1.69 (46.32) 0.12
test-regexp-case-sensitive-compile 1.82 0.90 0.66
test-regexp-case-sensitive-execute 1.59 0.65 1.60
test-regexp-compile 2.45 2.02 0.57
test-regexp-execute 1.81 (2.30) 1.54
test-regexp-string-parse 8.08 - -
test-reg-readwrite-object 4.54 (10.75) (18.71)
test-reg-readwrite-plain 2.87 (10.85) (14.85)
test-strict-equals-fastint 0.70 (3.37) (4.18)
test-strict-equals-nonfastint 0.76 (3.38) (5.62)
test-string-array-concat 6.66 (320.63) -
test-string-arridx 1.81 1.32 (2.00)
test-string-charlen-ascii 1.42 (6.20) 0.99
test-string-charlen-nonascii 3.38 (9.84) 0.68
test-string-compare 2.63 - -
test-string-decodeuri 5.53 2.98 -
test-string-encodeuri 5.40 5.06 -
test-string-garbage 4.49 2.41 2.55
test-string-intern-grow2 0.78 - -
test-string-intern-grow 5.10 - -
test-string-intern-grow-short2 4.29 - -
test-string-intern-grow-short 4.45 - -
test-string-intern-match 0.22 - -
test-string-intern-match-short 1.98 - -
test-string-intern-miss 0.39 - -
test-string-intern-miss-short 2.34 - -
test-string-number-list 0.72 (9.56) -
test-string-plain-concat 0.60 (1.26) (0.66)
test-string-scan-nonascii 4.96 (63.81) (19.89)
test-string-uppercase 3.33 (6.19) -
test-textdecoder-ascii 4.03 - -
test-textdecoder-nonascii 3.56 - -
test-textencoder-ascii 6.87 - -
test-textencoder-nonascii 13.27 - -
test-try-catch-nothrow 4.34 3.08 4.37
test-try-catch-throw 36.55 30.04 20.73
test-try-finally-nothrow 5.18 2.90 4.93
test-try-finally-throw 46.46 33.72 26.64

Duktape microbenchmarks, pruned

Baseline is duk.O2.210, compared to duk.O2.220, i.e. improvement or regression from 2.1.x -> 2.2.x. Lower is better, lowest of 5 runs.

duk.O2.220 duk.O2.210 duk.O2.200 duk.O2.150 mujs jerry lua python
test-add-fastint 0.67 0.74 (0.86) (0.91) (4.37) (2.96) - -
test-add-float 0.71 0.69 (0.87) (0.91) (4.40) (4.14) - -
test-add-int 0.70 0.72 (0.86) (0.94) (4.47) (4.74) - -
test-add-nan-fastint (0.89) 0.76 (0.90) (0.99) (4.38) (3.49) - -
test-add-nan 0.70 0.70 (0.86) (0.91) (4.38) (4.15) - -
test-add-string 14.26 16.86 (17.97) (18.83) 9.97 13.22 - -
test-arith-add 2.72 2.95 (3.48) (3.74) (17.45) (16.58) - -
test-arith-add-string 1.40 1.70 (1.82) (1.88) 1.00 1.31 - -
test-arith-div 7.69 7.92 (8.42) (9.29) (12.20) (21.04) - -
test-arith-mod 6.87 7.35 7.52 (8.76) (14.80) (25.42) - -
test-arith-mul 3.93 4.00 (4.30) (5.13) (12.05) (16.42) - -
test-arith-sub 2.82 2.98 (3.54) (3.96) (12.21) (16.92) - -
test-array-append (0.53) 0.51 (0.69) (0.76) (48.00) - - -
test-array-cons-list 0.63 0.72 (0.96) (2.60) (8.79) (2.22) - -
test-array-foreach 2.23 2.63 (2.77) (3.00) (3.69) 1.66 - -
test-array-literal-100 2.61 4.42 (6.46) (6.72) (446.78) 3.92 - -
test-array-literal-20 0.66 1.11 (1.73) (1.98) (59.65) 0.91 - -
test-array-literal-3 0.26 0.31 (0.50) (0.72) (6.15) 0.24 - -
test-array-pop 1.66 2.06 (2.44) (7.94) (51.24) (7.07) 1.17 1.19
test-array-push 2.02 2.30 (2.70) (5.35) (8.52) (4.02) 1.03 0.62
test-array-read 1.96 2.00 (2.30) (3.10) (236.50) (5.73) 1.11 (2.18)
test-array-read-lenloop 2.14 2.16 (2.43) (2.77) (123.30) (4.57) - -
test-array-sort 3.22 3.30 3.31 (3.51) - (4.26) - -
test-array-write 1.90 1.94 (2.24) (3.00) (255.16) (6.62) 1.38 (3.06)
test-array-write-length 1.60 1.80 (1.91) (3.01) (3.67) (2.71) - -
test-assign-add 4.17 4.20 (5.37) (6.04) (38.24) (25.02) 3.48 (16.02)
test-assign-addto 4.18 4.19 (5.33) (6.08) (37.46) (30.29) 3.49 (17.09)
test-assign-addto-nan (1.43) 1.21 (1.44) (1.64) (8.07) (6.44) - -
test-assign-boolean 5.14 5.14 5.18 5.22 (10.35) (20.94) - -
test-assign-const-int2 6.15 6.05 (8.40) (10.02) (10.61) (12.75) - -
test-assign-const-int 3.01 3.00 (4.20) 3.07 (10.53) (12.80) 2.53 (5.95)
test-assign-const 4.18 5.22 (5.70) 4.43 (10.74) (18.82) 2.55 (5.97)
test-assign-literal (4.42) 4.23 (5.40) (4.73) (10.89) (23.24) 2.74 (13.35)
test-assign-proplhs-reg 2.68 2.91 (3.21) (4.06) 2.65 (5.62) - -
test-assign-proprhs 2.85 3.04 (3.21) (4.29) 2.66 (3.98) - -
test-assign-reg 3.27 3.41 (4.80) 3.36 (9.68) (17.20) 2.52 (5.97)
test-base64-decode 1.73 1.74 1.68 - - - - (8.71)
test-base64-decode-whitespace 1.94 2.20 2.10 - - - - (8.64)
test-base64-encode 1.87 1.87 1.86 - - - - (20.67)
test-bitwise-ops 1.90 2.05 (2.40) (2.50) (14.86) (21.80) - -
test-break-fast 1.23 1.54 (1.82) (1.59) 1.31 1.41 - -
test-break-slow 7.44 8.48 (9.45) (9.19) 2.84 4.60 - -
test-buffer-nodejs-read 2.39 2.52 (2.83) (2.88) - - - -
test-buffer-nodejs-write 3.12 3.28 (3.54) (3.47) - - - -
test-buffer-object-read 2.41 2.52 (2.86) (2.90) - - - -
test-buffer-object-write 3.18 3.38 (3.55) 3.45 - - - -
test-buffer-plain-read 1.96 2.04 (2.37) (2.40) - - - -
test-buffer-plain-write 1.93 2.02 (2.30) (2.19) - - - -
test-call-apply 2.37 4.29 (4.72) (5.52) 2.52 2.50 - -
test-call-basic-1 6.36 7.52 (8.44) (9.69) 6.27 (9.65) 2.16 5.60
test-call-basic-2 6.51 7.56 (8.50) (9.62) 4.60 (8.83) - -
test-call-basic-3 8.34 9.65 (10.67) (15.86) (12.96) (15.18) - -
test-call-basic-4 17.56 19.46 (21.38) (38.86) (42.82) (40.11) - -
test-call-bound-deep 2.98 27.79 (30.35) (33.85) - 4.45 - -
test-call-bound 2.84 5.53 (6.87) (7.64) - 2.02 - -
test-call-call 2.13 3.13 (3.59) (4.22) 1.57 1.73 - -
test-call-native 11.31 12.90 (13.89) (14.66) (16.99) 8.60 - -
test-call-prop 3.92 4.43 (4.90) (6.06) 3.16 (4.69) - -
test-call-proxy-apply-1 26.93 - - - - - - -
test-call-proxy-pass-1 13.81 - - - - - - -
test-call-reg 2.54 3.00 (3.38) (3.85) 2.48 (3.84) - -
test-call-reg-new 4.92 5.96 (6.98) (7.23) 3.00 3.38 - -
test-call-tail-1 1.04 1.34 (1.67) (2.40) - (1.82) - -
test-call-tail-2 1.16 2.46 (2.80) (3.52) - 1.99 - -
test-call-var 5.50 6.17 (8.67) (8.74) 4.87 4.33 - -
test-closure-inner-functions 1.27 1.33 (1.82) (2.59) 0.70 0.26 - -
test-compile-mandel 13.12 13.44 (14.50) (17.05) 6.45 2.40 - -
test-compile-mandel-nofrac 10.06 10.31 (11.52) (14.02) 6.46 2.40 - -
test-compile-short 5.67 5.84 (7.04) (9.73) 2.32 0.97 - -
test-compile-string-ascii (7.93) 7.01 6.99 (9.82) 6.89 - - -
test-continue-fast 1.55 2.06 (2.25) 2.06 (2.16) (2.60) - -
test-continue-slow 7.74 8.78 (10.00) (9.26) 3.66 6.56 - -
test-empty-loop 1.78 1.84 (2.42) (2.38) (6.40) (3.59) 1.17 (5.14)
test-empty-loop-slowpath 0.97 1.10 (1.81) (2.39) 1.08 0.71 - -
test-empty-loop-step3 1.82 1.93 (2.49) (2.49) (8.05) (7.07) - -
test-enum-basic 3.26 3.35 (4.34) (4.95) 0.71 1.16 - -
test-equals-fastint 0.57 0.65 (0.71) (1.23) (2.58) (3.36) - -
test-equals-nonfastint 0.64 0.66 (0.76) (1.34) (2.58) (4.75) - -
test-error-create 1.60 1.72 (2.37) (3.72) (5.09) 0.86 - -
test-fib-2 3.20 3.67 (4.08) (4.70) 3.68 (5.95) - -
test-fib 5.90 6.49 (8.36) (8.62) 3.62 5.75 1.44 2.90
test-func-bind 2.18 3.26 (4.14) (4.27) - 1.01 - -
test-global-lookup 6.16 6.89 (9.00) (11.81) 4.53 2.75 - -
test-hello-world 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
test-hex-decode 4.01 4.01 4.01 4.01 - - - (13.28)
test-hex-encode 3.21 3.21 3.22 - - - - 1.62
test-jc-serialize-indented 3.17 3.84 3.62 3.93 - - - -
test-jc-serialize 2.15 2.38 (2.50) (2.76) - - - -
test-json-parse-hex 3.47 3.52 3.51 - - - - -
test-json-parse-integer 2.90 2.96 (4.10) (4.35) (23.51) - - 0.09
test-json-parse-number 5.09 5.23 5.13 5.30 2.70 - - 0.40
test-json-parse-string 5.23 5.21 (5.75) (5.46) (51.66) - - -
test-json-serialize-fastpath-loop 3.32 3.60 (4.02) (4.00) (13.44) (581.44) - -
test-json-serialize-forceslow 9.51 9.80 9.90 (12.04) 2.40 9.14 - -
test-json-serialize-hex 1.54 1.54 1.57 - - - - -
test-json-serialize-indented-deep100 1.38 1.44 (1.95) (2.70) (1.60) (149.64) - -
test-json-serialize-indented-deep25 3.17 3.60 3.62 (3.84) (11.84) (280.97) - -
test-json-serialize-indented-deep500 0.94 0.94 (1.34) (1.64) - - - -
test-json-serialize-indented 5.57 6.12 (6.51) (7.06) (16.33) (108.33) - -
test-json-serialize 6.40 6.49 6.38 (6.69) 2.37 (9.06) - 0.65
test-json-serialize-jsonrpc-message 3.11 3.28 3.33 3.32 - - - -
test-json-serialize-nofrac 0.62 0.66 (0.68) (0.78) (1.74) (7.26) - -
test-json-serialize-plainbuf 2.55 2.52 (31.25) 0.07 - - - -
test-json-serialize-slowpath-loop 3.42 3.76 (4.63) (6.54) - (11.18) - -
test-json-string-bench 2.80 3.19 (3.76) (5.54) (53.98) - - -
test-json-string-stringify 10.05 10.15 10.10 10.40 (11.67) - - 0.54
test-jx-serialize-bufobj-forceslow 4.11 4.48 (5.13) (6.26) - - - -
test-jx-serialize-bufobj 1.52 1.67 1.72 (1.82) - - - -
test-jx-serialize-indented 3.04 3.48 3.54 (3.86) - - - -
test-jx-serialize 2.08 2.24 (2.38) (2.63) - - - -
test-mandel 2.94 3.15 (3.74) (4.38) (15.22) (14.56) 1.96 -
test-math-clz32 2.21 - - - - - - -
test-misc-1dcell 3.70 3.93 (4.29) (4.86) (127.98) (8.58) - -
test-object-garbage-2 2.61 3.63 (5.38) (5.43) (54.54) 3.31 - -
test-object-garbage (4.05) 3.33 (5.17) (5.47) 2.68 2.78 (4.18) 0.86
test-object-literal-100 7.10 13.97 (22.64) (20.43) (30.28) 12.54 - -
test-object-literal-20 1.62 2.51 (3.24) (2.82) (4.30) 2.27 - -
test-object-literal-3 0.36 0.42 (0.61) (0.57) (0.52) 0.39 - -
test-prop-read-1024 3.31 3.61 (3.97) (5.17) (6.82) (4.46) - -
test-prop-read-16 3.32 3.65 (4.07) (5.48) (4.48) (4.43) - -
test-prop-read-256 3.27 3.62 (4.38) (5.37) (8.29) (4.43) - -
test-prop-read-32 3.32 3.63 (3.98) (5.19) (5.62) (4.44) - -
test-prop-read-48 3.34 3.63 (3.98) (5.27) (6.52) (4.42) - -
test-prop-read-4 3.43 3.52 3.58 (4.77) (4.00) (4.42) - -
test-prop-read-64 3.31 3.62 (4.00) (5.34) (6.52) (4.34) - -
test-prop-read-8 3.32 3.62 3.70 (4.98) (4.93) (4.43) - -
test-prop-read-inherited 4.76 5.18 5.11 (6.60) 4.75 (9.40) - -
test-prop-read 3.44 3.70 3.60 (4.79) (3.96) (4.43) 1.11 2.58
test-prop-write-1024 3.14 3.30 (4.69) (4.97) (10.39) (5.26) - -
test-prop-write-16 3.20 3.36 (4.13) (5.05) (4.46) (5.27) - -
test-prop-write-256 3.14 3.30 (4.06) (4.96) (8.21) (5.32) - -
test-prop-write-32 3.18 3.46 (4.02) (5.09) (5.52) (5.32) - -
test-prop-write-48 3.22 3.34 (4.04) (4.98) (6.57) (5.29) - -
test-prop-write-4 3.20 3.45 (3.69) (4.38) (3.93) (5.30) - -
test-prop-write-64 3.21 3.30 (4.09) (5.60) (6.55) (5.32) - -
test-prop-write-8 3.16 3.30 (3.84) (4.52) (4.92) (5.26) - -
test-prop-write 3.25 3.62 (3.83) (4.46) (3.95) (5.28) 1.41 2.71
test-proxy-get 1.62 2.00 (2.17) (2.56) - - - -
test-random 1.61 2.25 (2.50) (6.86) 1.14 2.14 - -
test-reflect-ownkeys-sorted 1.11 1.12 (1.37) - - - - -
test-reflect-ownkeys-unsorted 1.12 1.14 (1.37) - - - - -
test-regexp-case-insensitive-compile 0.71 28.40 27.70 25.66 0.00 0.00 - -
test-regexp-case-insensitive-execute 1.69 2.07 2.05 1.89 (46.32) 0.12 - -
test-regexp-case-sensitive-compile 1.82 1.91 (2.25) (2.79) 0.90 0.66 - -
test-regexp-case-sensitive-execute 1.59 1.64 (1.96) (2.55) 0.65 1.60 - -
test-regexp-compile 2.45 2.56 (2.92) (3.67) 2.02 0.57 - -
test-regexp-execute 1.81 1.91 (2.20) (2.81) (2.30) 1.54 - -
test-regexp-string-parse 8.08 8.08 8.25 (13.23) - - - 0.75
test-reg-readwrite-object 4.54 4.60 (5.24) 4.70 (10.75) (18.71) 2.31 -
test-reg-readwrite-plain 2.87 3.08 (4.37) 3.05 (10.85) (14.85) 2.32 (7.01)
test-strict-equals-fastint 0.70 0.80 (0.89) (1.56) (3.37) (4.18) - -
test-strict-equals-nonfastint 0.76 0.85 (0.96) (1.67) (3.38) (5.62) - -
test-string-array-concat 6.66 6.70 (7.74) (8.38) (320.63) - 2.72 4.48
test-string-arridx 1.81 2.15 (2.30) (2.44) 1.32 2.00 - -
test-string-charlen-ascii 1.42 1.44 (1.51) (1.69) (6.20) 0.99 - -
test-string-charlen-nonascii 3.38 3.34 3.32 (3.53) (9.84) 0.68 - -
test-string-compare 2.63 3.13 (3.30) (5.10) - - (6.24) (12.66)
test-string-decodeuri 5.53 5.74 5.59 5.33 2.98 - - -
test-string-encodeuri 5.40 6.08 6.26 5.76 5.06 - - -
test-string-garbage 4.49 5.16 (6.46) (7.31) 2.41 2.55 2.14 2.31
test-string-intern-grow2 0.78 0.80 (2.28) (2.29) - - - -
test-string-intern-grow 5.10 5.14 (26.30) (25.72) - - - -
test-string-intern-grow-short2 4.29 4.73 (6.30) (6.73) - - - -
test-string-intern-grow-short 4.45 4.84 (15.58) (15.78) - - - -
test-string-intern-match 0.22 0.26 (0.31) (0.32) - - - -
test-string-intern-match-short 1.98 2.28 (3.42) (3.37) - - - -
test-string-intern-miss 0.39 0.41 (1.46) (1.48) - - - -
test-string-intern-miss-short 2.34 2.66 (4.22) (4.40) - - - -
test-string-number-list 0.72 0.82 (1.39) (1.92) (9.56) - - -
test-string-plain-concat (0.60) 0.56 (1.12) (1.29) (1.26) (0.66) (0.76) 0.00
test-string-scan-nonascii 4.96 5.29 4.96 5.41 (63.81) (19.89) - -
test-string-uppercase 3.33 3.52 3.55 3.58 (6.19) - - 1.68
test-textdecoder-ascii (4.03) 3.41 3.12 - - - - -
test-textdecoder-nonascii 3.56 3.48 (4.26) - - - - -
test-textencoder-ascii 6.87 6.98 6.92 - - - - -
test-textencoder-nonascii 13.27 14.28 (15.00) - - - - -
test-try-catch-nothrow (4.34) 4.20 4.27 3.74 3.08 (4.37) - -
test-try-catch-throw 36.55 38.93 (54.91) (56.57) 30.04 20.73 - -
test-try-finally-nothrow 5.18 5.10 5.18 4.87 2.90 4.93 - -
test-try-finally-throw 46.46 62.60 (73.86) (75.10) 33.72 26.64 - -

Duktape microbenchmarks, full

Baseline is duk.O2.210, compared to duk.O2.220. Lower is better, lowest of 5 runs.

duk-perf-pgo.O2.220 duk-pgo.O2.220 duk-perf.O2.220 duk.O2.220 duk.O2.210 duk.O2.200 duk.O2.150 mujs jerry lua python perl ruby luajit rhino nodejs
test-add-fastint 0.49 0.59 0.65 0.67 0.74 (0.86) (0.91) (4.37) (2.96) - - - - - 0.36 0.04
test-add-float 0.56 0.65 0.60 0.71 0.69 (0.87) (0.91) (4.40) (4.14) - - - - - 0.34 0.04
test-add-int 0.53 0.59 0.66 0.70 0.72 (0.86) (0.94) (4.47) (4.74) - - - - - 0.34 0.06
test-add-nan-fastint 0.67 (0.79) 0.71 (0.89) 0.76 (0.90) (0.99) (4.38) (3.49) - - - - - 0.33 0.05
test-add-nan 0.55 0.64 0.60 0.70 0.70 (0.86) (0.91) (4.38) (4.15) - - - - - 0.34 0.05
test-add-string 13.89 13.76 13.93 14.26 16.86 (17.97) (18.83) 9.97 13.22 - - - - - 0.36 0.05
test-arith-add 1.96 2.36 2.62 2.72 2.95 (3.48) (3.74) (17.45) (16.58) - - - - - 0.50 0.05
test-arith-add-string 1.37 1.38 1.37 1.40 1.70 (1.82) (1.88) 1.00 1.31 - - - - - 0.58 0.04
test-arith-div 6.93 8.12 7.61 7.69 7.92 (8.42) (9.29) (12.20) (21.04) - - - - - 0.57 0.05
test-arith-mod 6.95 7.22 6.32 6.87 7.35 7.52 (8.76) (14.80) (25.42) - - - - - 5.39 0.06
test-arith-mul 3.80 (4.16) 3.42 3.93 4.00 (4.30) (5.13) (12.05) (16.42) - - - - - 0.54 0.05
test-arith-sub 1.86 2.24 2.62 2.82 2.98 (3.54) (3.96) (12.21) (16.92) - - - - - 0.53 0.06
test-array-append 0.44 0.48 0.52 (0.53) 0.51 (0.69) (0.76) (48.00) - - - - - - (0.62) 0.09
test-array-cons-list 0.55 0.57 0.59 0.63 0.72 (0.96) (2.60) (8.79) (2.22) - - - - - 0.40 0.08
test-array-foreach 2.16 2.29 2.04 2.23 2.63 (2.77) (3.00) (3.69) 1.66 - - - - - 0.84 0.32
test-array-literal-100 2.56 2.76 2.60 2.61 4.42 (6.46) (6.72) (446.78) 3.92 - - - - - 0.46 0.08
test-array-literal-20 0.65 0.69 0.68 0.66 1.11 (1.73) (1.98) (59.65) 0.91 - - - - - 0.35 0.04
test-array-literal-3 0.26 0.26 0.25 0.26 0.31 (0.50) (0.72) (6.15) 0.24 - - - - - (0.33) 0.04
test-array-pop 1.18 1.34 1.55 1.66 2.06 (2.44) (7.94) (51.24) (7.07) 1.17 1.19 - - 0.30 0.76 0.06
test-array-push 1.61 1.71 1.92 2.02 2.30 (2.70) (5.35) (8.52) (4.02) 1.03 0.62 - - 0.34 0.86 0.10
test-array-read 1.76 1.92 1.84 1.96 2.00 (2.30) (3.10) (236.50) (5.73) 1.11 (2.18) (3.48) 1.68 0.00 0.39 0.04
test-array-read-lenloop 1.51 1.71 2.04 2.14 2.16 (2.43) (2.77) (123.30) (4.57) - - - - - 0.96 0.06
test-array-sort (3.61) (3.53) 3.32 3.22 3.30 3.31 (3.51) - (4.26) - - - - - 1.61 0.12
test-array-write 1.64 1.82 1.88 1.90 1.94 (2.24) (3.00) (255.16) (6.62) 1.38 (3.06) (3.56) (2.34) 0.00 0.56 0.07
test-array-write-length 1.34 1.38 1.63 1.60 1.80 (1.91) (3.01) (3.67) (2.71) - - - - - 1.13 1.53
test-assign-add 3.60 4.12 3.85 4.17 4.20 (5.37) (6.04) (38.24) (25.02) 3.48 (16.02) (25.70) (9.59) 0.00 3.49 0.04
test-assign-addto 3.63 4.14 3.88 4.18 4.19 (5.33) (6.08) (37.46) (30.29) 3.49 (17.09) (24.98) (9.58) 1.00 3.88 0.90
test-assign-addto-nan 1.10 1.21 1.15 (1.43) 1.21 (1.44) (1.64) (8.07) (6.44) - - - - - 0.39 0.30
test-assign-boolean 5.10 5.13 5.10 5.14 5.14 5.18 5.22 (10.35) (20.94) - - - - - 0.36 0.05
test-assign-const-int2 4.65 (6.32) 5.60 6.15 6.05 (8.40) (10.02) (10.61) (12.75) - - - - - 0.36 0.05
test-assign-const-int 2.27 2.70 2.92 3.01 3.00 (4.20) 3.07 (10.53) (12.80) 2.53 (5.95) (25.04) (4.87) 0.00 0.40 0.04
test-assign-const 3.53 4.48 4.00 4.18 5.22 (5.70) 4.43 (10.74) (18.82) 2.55 (5.97) (25.72) 4.86 0.00 0.36 0.04
test-assign-literal 3.88 (4.54) 3.82 (4.42) 4.23 (5.40) (4.73) (10.89) (23.24) 2.74 (13.35) - (4.79) 0.00 0.35 0.04
test-assign-proplhs-reg 2.49 2.51 2.64 2.68 2.91 (3.21) (4.06) 2.65 (5.62) - - - - - 2.04 0.07
test-assign-proprhs 2.01 2.07 2.81 2.85 3.04 (3.21) (4.29) 2.66 (3.98) - - - - - 1.11 0.04
test-assign-reg 2.56 3.03 3.20 3.27 3.41 (4.80) 3.36 (9.68) (17.20) 2.52 (5.97) (25.75) (5.18) 0.00 0.33 0.04
test-base64-decode 1.74 1.73 1.73 1.73 1.74 1.68 - - - - (8.71) - - - - -
test-base64-decode-whitespace 2.21 2.26 2.22 1.94 2.20 2.10 - - - - (8.64) - - - - -
test-base64-encode (2.07) (2.08) 1.86 1.87 1.87 1.86 - - - - (20.67) - - - - -
test-bitwise-ops 1.58 1.88 1.69 1.90 2.05 (2.40) (2.50) (14.86) (21.80) - - - - - (33.44) 0.04
test-break-fast 0.84 1.14 1.12 1.23 1.54 (1.82) (1.59) 1.31 1.41 - - - - - 0.35 0.06
test-break-slow 6.38 7.19 6.62 7.44 8.48 (9.45) (9.19) 2.84 4.60 - - - - - 0.30 0.38
test-buffer-nodejs-read 2.36 (2.60) 2.34 2.39 2.52 (2.83) (2.88) - - - - - - - - 0.04
test-buffer-nodejs-write (3.80) (4.08) 3.10 3.12 3.28 (3.54) (3.47) - - - - - - - - 0.08
test-buffer-object-read 2.34 (2.64) 2.36 2.41 2.52 (2.86) (2.90) - - - - - - - - 0.04
test-buffer-object-write (3.82) (4.16) 3.13 3.18 3.38 (3.55) 3.45 - - - - - - - - 0.07
test-buffer-plain-read 1.84 2.04 1.92 1.96 2.04 (2.37) (2.40) - - - - - - - - -
test-buffer-plain-write 1.70 1.87 1.89 1.93 2.02 (2.30) (2.19) - - - - - - - - -
test-call-apply 1.74 1.76 2.23 2.37 4.29 (4.72) (5.52) 2.52 2.50 - - - - - 2.18 0.35
test-call-basic-1 4.49 4.70 6.11 6.36 7.52 (8.44) (9.69) 6.27 (9.65) 2.16 5.60 (8.24) 2.47 0.00 1.51 0.04
test-call-basic-2 4.48 4.73 6.18 6.51 7.56 (8.50) (9.62) 4.60 (8.83) - - - - - 1.82 0.03
test-call-basic-3 6.31 6.88 7.95 8.34 9.65 (10.67) (15.86) (12.96) (15.18) - - - - - 1.87 0.27
test-call-basic-4 15.81 15.19 16.45 17.56 19.46 (21.38) (38.86) (42.82) (40.11) - - - - - 1.76 0.63
test-call-bound-deep 2.64 2.74 2.93 2.98 27.79 (30.35) (33.85) - 4.45 - - - - - 4.31 -
test-call-bound 2.58 2.62 2.76 2.84 5.53 (6.87) (7.64) - 2.02 - - - - - 1.44 -
test-call-call 1.55 1.52 1.94 2.13 3.13 (3.59) (4.22) 1.57 1.73 - - - - - 2.02 0.10
test-call-native 10.57 11.23 10.24 11.31 12.90 (13.89) (14.66) (16.99) 8.60 - - - - - 1.65 1.54
test-call-prop 2.54 2.64 3.74 3.92 4.43 (4.90) (6.06) 3.16 (4.69) - - - - - 1.39 0.26
test-call-proxy-apply-1 23.88 25.42 26.41 26.93 - - - - - - - - - - - -
test-call-proxy-pass-1 9.41 10.24 13.04 13.81 - - - - - - - - - - - -
test-call-reg 1.79 1.86 2.44 2.54 3.00 (3.38) (3.85) 2.48 (3.84) - - - - - 0.99 0.04
test-call-reg-new 4.25 4.39 4.74 4.92 5.96 (6.98) (7.23) 3.00 3.38 - - - - - 1.55 0.13
test-call-tail-1 1.25 0.77 0.92 1.04 1.34 (1.67) (2.40) - (1.82) - - - - - 0.66 0.08
test-call-tail-2 1.36 0.92 1.01 1.16 2.46 (2.80) (3.52) - 1.99 - - - - - 0.86 0.18
test-call-var 3.08 3.16 5.35 5.50 6.17 (8.67) (8.74) 4.87 4.33 - - - - - 1.05 0.04
test-closure-inner-functions 1.10 1.21 1.17 1.27 1.33 (1.82) (2.59) 0.70 0.26 - - - - - 1.20 0.03
test-compile-mandel 13.31 13.34 13.11 13.12 13.44 (14.50) (17.05) 6.45 2.40 - - - - - 9.13 0.05
test-compile-mandel-nofrac 10.29 10.33 10.06 10.06 10.31 (11.52) (14.02) 6.46 2.40 - - - - - 8.86 0.10
test-compile-short 5.19 5.69 5.30 5.67 5.84 (7.04) (9.73) 2.32 0.97 - - - - - 4.21 0.21
test-compile-string-ascii 7.05 7.02 (7.81) (7.93) 7.01 6.99 (9.82) 6.89 - - - - - - (7.34) 0.04
test-continue-fast 1.46 1.58 1.86 1.55 2.06 (2.25) 2.06 (2.16) (2.60) - - - - - 0.40 0.04
test-continue-slow 6.98 7.36 7.34 7.74 8.78 (10.00) (9.26) 3.66 6.56 - - - - - 0.39 0.45
test-empty-loop 1.28 1.51 (1.98) 1.78 1.84 (2.42) (2.38) (6.40) (3.59) 1.17 (5.14) (3.66) (4.26) 0.14 0.65 0.09
test-empty-loop-slowpath 0.80 0.89 0.92 0.97 1.10 (1.81) (2.39) 1.08 0.71 - - - - - 0.62 0.06
test-empty-loop-step3 1.36 1.56 (2.00) 1.82 1.93 (2.49) (2.49) (8.05) (7.07) - - - - - 0.62 0.11
test-enum-basic 2.96 3.13 3.26 3.26 3.35 (4.34) (4.95) 0.71 1.16 - - - - - 1.49 (5.64)
test-equals-fastint 0.55 0.56 0.57 0.57 0.65 (0.71) (1.23) (2.58) (3.36) - - - - - (0.92) 0.04
test-equals-nonfastint 0.66 (0.71) 0.57 0.64 0.66 (0.76) (1.34) (2.58) (4.75) - - - - - (0.87) 0.06
test-error-create 1.11 1.16 1.50 1.60 1.72 (2.37) (3.72) (5.09) 0.86 - - - - - 1.06 (3.58)
test-fib-2 2.02 2.27 3.18 3.20 3.67 (4.08) (4.70) 3.68 (5.95) - - - - - 0.74 0.18
test-fib 2.70 3.04 5.60 5.90 6.49 (8.36) (8.62) 3.62 5.75 1.44 2.90 (7.43) 1.28 0.30 1.03 0.17
test-func-bind 2.07 2.15 2.15 2.18 3.26 (4.14) (4.27) - 1.01 - - - - - 2.12 2.63
test-global-lookup 4.47 4.46 6.09 6.16 6.89 (9.00) (11.81) 4.53 2.75 - - - - - 1.28 0.05
test-hello-world 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.00 0.24 0.04
test-hex-decode 4.02 4.04 4.06 4.01 4.01 4.01 4.01 - - - (13.28) - - - - -
test-hex-encode (3.36) (3.38) 3.18 3.21 3.21 3.22 - - - - 1.62 - - - - -
test-jc-serialize-indented (7.03) (7.02) 3.14 3.17 3.84 3.62 3.93 - - - - - - - - -
test-jc-serialize 2.34 2.30 2.20 2.15 2.38 (2.50) (2.76) - - - - - - - - -
test-json-parse-hex (4.56) (4.51) 3.52 3.47 3.52 3.51 - - - - - - - - - -
test-json-parse-integer 2.97 (3.13) 2.97 2.90 2.96 (4.10) (4.35) (23.51) - - 0.09 - - - 2.18 0.35
test-json-parse-number (5.53) 5.36 5.04 5.09 5.23 5.13 5.30 2.70 - - 0.40 - - - 1.24 0.21
test-json-parse-string 5.13 5.16 5.21 5.23 5.21 (5.75) (5.46) (51.66) - - - - - - (34.30) (10.78)
test-json-serialize-fastpath-loop (6.63) (6.66) 3.27 3.32 3.60 (4.02) (4.00) (13.44) (581.44) - - - - - (126.39) (33.02)
test-json-serialize-forceslow (10.86) (10.79) 9.48 9.51 9.80 9.90 (12.04) 2.40 9.14 - - - - - 6.27 0.81
test-json-serialize-hex (1.62) (1.65) 1.55 1.54 1.54 1.57 - - - - - - - - - -
test-json-serialize-indented-deep100 (1.74) (1.72) 1.36 1.38 1.44 (1.95) (2.70) (1.60) (149.64) - - - - - (43.64) 0.80
test-json-serialize-indented-deep25 (7.34) (7.48) 3.23 3.17 3.60 3.62 (3.84) (11.84) (280.97) - - - - - (75.34) (11.56)
test-json-serialize-indented-deep500 (1.08) (1.05) 0.92 0.94 0.94 (1.34) (1.64) - - - - - - - - 0.82
test-json-serialize-indented (25.14) (21.47) 5.57 5.57 6.12 (6.51) (7.06) (16.33) (108.33) - - - - - (28.72) (26.86)
test-json-serialize (7.76) (7.66) 6.42 6.40 6.49 6.38 (6.69) 2.37 (9.06) - 0.65 - - - 6.52 0.81
test-json-serialize-jsonrpc-message 2.00 1.99 2.99 3.11 3.28 3.33 3.32 - - - - - - - - -
test-json-serialize-nofrac 0.64 0.66 0.61 0.62 0.66 (0.68) (0.78) (1.74) (7.26) - - - - - (5.20) (0.71)
test-json-serialize-plainbuf 2.48 2.49 2.49 2.55 2.52 (31.25) 0.07 - - - - - - - - -
test-json-serialize-slowpath-loop 3.80 (3.90) 3.33 3.42 3.76 (4.63) (6.54) - (11.18) - - - - - (14.26) (3.93)
test-json-string-bench 2.25 2.28 2.66 2.80 3.19 (3.76) (5.54) (53.98) - - - - - - 3.02 0.19
test-json-string-stringify 5.14 5.20 9.42 10.05 10.15 10.10 10.40 (11.67) - - 0.54 - - - (19.05) 5.40
test-jx-serialize-bufobj-forceslow 3.78 3.90 4.01 4.11 4.48 (5.13) (6.26) - - - - - - - - -
test-jx-serialize-bufobj 1.56 1.52 1.47 1.52 1.67 1.72 (1.82) - - - - - - - - -
test-jx-serialize-indented (7.22) (7.12) 3.07 3.04 3.48 3.54 (3.86) - - - - - - - - -
test-jx-serialize (2.34) (2.37) 1.98 2.08 2.24 (2.38) (2.63) - - - - - - - - -
test-mandel 2.29 2.64 2.93 2.94 3.15 (3.74) (4.38) (15.22) (14.56) 1.96 - - - 0.19 1.76 0.24
test-math-clz32 1.64 1.79 2.04 2.21 - - - - - - - - - - - 0.04
test-misc-1dcell 3.20 3.52 3.70 3.70 3.93 (4.29) (4.86) (127.98) (8.58) - - - - - 3.20 0.26
test-object-garbage-2 2.51 2.59 2.58 2.61 3.63 (5.38) (5.43) (54.54) 3.31 - - - - - 2.96 0.64
test-object-garbage (3.85) (3.98) (3.87) (4.05) 3.33 (5.17) (5.47) 2.68 2.78 (4.18) 0.86 - - 0.00 1.04 0.46
test-object-literal-100 6.77 7.22 7.12 7.10 13.97 (22.64) (20.43) (30.28) 12.54 - - - - - 7.88 2.39
test-object-literal-20 1.53 1.62 1.60 1.62 2.51 (3.24) (2.82) (4.30) 2.27 - - - - - 1.68 0.57
test-object-literal-3 0.32 0.35 0.35 0.36 0.42 (0.61) (0.57) (0.52) 0.39 - - - - - (0.58) 0.04
test-prop-read-1024 2.43 2.49 3.25 3.31 3.61 (3.97) (5.17) (6.82) (4.46) - - - - - 0.90 0.43
test-prop-read-16 2.44 2.49 3.24 3.32 3.65 (4.07) (5.48) (4.48) (4.43) - - - - - 0.76 0.03
test-prop-read-256 2.44 2.49 3.25 3.27 3.62 (4.38) (5.37) (8.29) (4.43) - - - - - 0.90 0.38
test-prop-read-32 2.43 2.50 3.26 3.32 3.63 (3.98) (5.19) (5.62) (4.44) - - - - - 0.83 0.39
test-prop-read-48 2.43 2.51 3.26 3.34 3.63 (3.98) (5.27) (6.52) (4.42) - - - - - 0.79 0.39
test-prop-read-4 2.34 2.46 3.21 3.43 3.52 3.58 (4.77) (4.00) (4.42) - - - - - 0.78 0.04
test-prop-read-64 2.43 2.52 3.24 3.31 3.62 (4.00) (5.34) (6.52) (4.34) - - - - - 0.86 0.40
test-prop-read-8 2.43 2.48 3.26 3.32 3.62 3.70 (4.98) (4.93) (4.43) - - - - - 0.78 0.05
test-prop-read-inherited 2.72 2.83 4.48 4.76 5.18 5.11 (6.60) 4.75 (9.40) - - - - - 1.22 0.04
test-prop-read 2.36 2.52 3.28 3.44 3.70 3.60 (4.79) (3.96) (4.43) 1.11 2.58 (4.70) (3.95) 0.00 0.66 0.04
test-prop-write-1024 2.92 2.96 3.14 3.14 3.30 (4.69) (4.97) (10.39) (5.26) - - - - - 2.27 0.44
test-prop-write-16 2.98 3.04 3.29 3.20 3.36 (4.13) (5.05) (4.46) (5.27) - - - - - 2.12 0.07
test-prop-write-256 2.95 3.06 3.20 3.14 3.30 (4.06) (4.96) (8.21) (5.32) - - - - - 2.26 0.39
test-prop-write-32 2.92 2.96 3.18 3.18 3.46 (4.02) (5.09) (5.52) (5.32) - - - - - 2.09 0.39
test-prop-write-48 2.96 2.97 3.17 3.22 3.34 (4.04) (4.98) (6.57) (5.29) - - - - - 2.07 0.39
test-prop-write-4 2.96 3.09 3.21 3.20 3.45 (3.69) (4.38) (3.93) (5.30) - - - - - 2.08 0.04
test-prop-write-64 2.90 2.97 3.14 3.21 3.30 (4.09) (5.60) (6.55) (5.32) - - - - - 2.29 0.38
test-prop-write-8 2.96 2.96 3.16 3.16 3.30 (3.84) (4.52) (4.92) (5.26) - - - - - 2.12 0.08
test-prop-write 3.04 3.12 3.04 3.25 3.62 (3.83) (4.46) (3.95) (5.28) 1.41 2.71 (4.88) (5.28) 0.00 1.94 0.08
test-proxy-get 1.41 1.50 1.53 1.62 2.00 (2.17) (2.56) - - - - - - - - -
test-random 1.15 1.26 1.54 1.61 2.25 (2.50) (6.86) 1.14 2.14 - - - - - 1.69 0.47
test-reflect-ownkeys-sorted - 1.05 - 1.11 1.12 (1.37) - - - - - - - - - -
test-reflect-ownkeys-unsorted - 1.10 - 1.12 1.14 (1.37) - - - - - - - - - -
test-regexp-case-insensitive-compile 0.00 0.83 0.00 0.71 28.40 27.70 25.66 0.00 0.00 - - - - - 0.26 -
test-regexp-case-insensitive-execute 1.75 2.00 1.54 1.69 2.07 2.05 1.89 (46.32) 0.12 - - - - - - -
test-regexp-case-sensitive-compile (1.99) 1.76 (2.02) 1.82 1.91 (2.25) (2.79) 0.90 0.66 - - - - - 0.96 -
test-regexp-case-sensitive-execute 1.66 1.54 (1.72) 1.59 1.64 (1.96) (2.55) 0.65 1.60 - - - - - 1.26 -
test-regexp-compile (2.68) 2.60 2.44 2.45 2.56 (2.92) (3.67) 2.02 0.57 - - - - - 1.76 0.22
test-regexp-execute 1.68 1.70 1.79 1.81 1.91 (2.20) (2.81) (2.30) 1.54 - - - - - 1.91 0.10
test-regexp-string-parse (14.20) (14.23) 8.00 8.08 8.08 8.25 (13.23) - - - 0.75 - - - - 0.82
test-reg-readwrite-object 4.12 4.51 4.10 4.54 4.60 (5.24) 4.70 (10.75) (18.71) 2.31 - (42.13) (5.34) 0.00 0.70 0.04
test-reg-readwrite-plain 2.34 2.73 2.88 2.87 3.08 (4.37) 3.05 (10.85) (14.85) 2.32 (7.01) (45.25) (5.37) 0.00 0.68 0.03
test-strict-equals-fastint 0.68 0.70 0.68 0.70 0.80 (0.89) (1.56) (3.37) (4.18) - - - - - (1.06) 0.04
test-strict-equals-nonfastint 0.74 0.87 0.73 0.76 0.85 (0.96) (1.67) (3.38) (5.62) - - - - - (1.08) 0.07
test-string-array-concat 6.24 6.48 6.75 6.66 6.70 (7.74) (8.38) (320.63) - 2.72 4.48 (10.18) (8.36) 1.14 2.75 0.53
test-string-arridx 1.78 1.76 1.79 1.81 2.15 (2.30) (2.44) 1.32 2.00 - - - - - 0.44 0.04
test-string-charlen-ascii 1.40 1.40 1.40 1.42 1.44 (1.51) (1.69) (6.20) 0.99 - - - - - 0.48 0.03
test-string-charlen-nonascii (3.51) 3.27 (3.47) 3.38 3.34 3.32 (3.53) (9.84) 0.68 - - - - - 0.53 0.04
test-string-compare 2.57 2.73 2.54 2.63 3.13 (3.30) (5.10) - - (6.24) (12.66) (24.32) (6.70) 0.14 (6.58) 1.14
test-string-decodeuri 5.65 (6.16) 5.23 5.53 5.74 5.59 5.33 2.98 - - - - - - 3.08 5.73
test-string-encodeuri 6.00 5.95 5.26 5.40 6.08 6.26 5.76 5.06 - - - - - - (8.07) (30.98)
test-string-garbage 4.51 4.56 4.38 4.49 5.16 (6.46) (7.31) 2.41 2.55 2.14 2.31 - - 1.79 1.24 0.04
test-string-intern-grow2 0.74 0.74 0.75 0.78 0.80 (2.28) (2.29) - - - - - - - - -
test-string-intern-grow 5.12 5.28 5.14 5.10 5.14 (26.30) (25.72) - - - - - - - - -
test-string-intern-grow-short2 4.06 4.18 4.12 4.29 4.73 (6.30) (6.73) - - - - - - - - -
test-string-intern-grow-short 4.20 4.28 4.27 4.45 4.84 (15.58) (15.78) - - - - - - - - -
test-string-intern-match 0.21 0.22 0.22 0.22 0.26 (0.31) (0.32) - - - - - - - - -
test-string-intern-match-short 1.84 1.91 1.86 1.98 2.28 (3.42) (3.37) - - - - - - - - -
test-string-intern-miss 0.35 0.38 0.36 0.39 0.41 (1.46) (1.48) - - - - - - - - -
test-string-intern-miss-short 2.23 2.29 2.22 2.34 2.66 (4.22) (4.40) - - - - - - - - -
test-string-number-list 0.58 0.60 0.70 0.72 0.82 (1.39) (1.92) (9.56) - - - - - - (1.65) 0.16
test-string-plain-concat (0.58) (0.59) (0.60) (0.60) 0.56 (1.12) (1.29) (1.26) (0.66) (0.76) 0.00 0.54 0.56 (0.80) 0.45 0.04
test-string-scan-nonascii 5.16 5.43 4.80 4.96 5.29 4.96 5.41 (63.81) (19.89) - - - - - 2.04 0.03
test-string-uppercase (3.76) (3.86) 3.36 3.33 3.52 3.55 3.58 (6.19) - - 1.68 - - - 2.17 0.13
test-textdecoder-ascii 3.05 3.06 3.30 (4.03) 3.41 3.12 - - - - - - - - - -
test-textdecoder-nonascii (4.09) (4.08) (3.81) 3.56 3.48 (4.26) - - - - - - - - - -
test-textencoder-ascii (7.21) (7.19) 6.56 6.87 6.98 6.92 - - - - - - - - - -
test-textencoder-nonascii (17.04) (17.47) 13.19 13.27 14.28 (15.00) - - - - - - - - - -
test-try-catch-nothrow 3.87 4.18 4.13 (4.34) 4.20 4.27 3.74 3.08 (4.37) - - - - - 0.41 0.12
test-try-catch-throw 33.60 35.81 35.05 36.55 38.93 (54.91) (56.57) 30.04 20.73 - - - - - (192.82) (103.57)
test-try-finally-nothrow 4.42 5.04 4.48 5.18 5.10 5.18 4.87 2.90 4.93 - - - - - 0.41 0.46
test-try-finally-throw 42.94 45.16 44.76 46.46 62.60 (73.86) (75.10) 33.72 26.64 - - - - - (197.95) (169.44)

Setup

Measurement host:

Duktape is compiled with:

Note that: