Duktape 1.4.0 performance measurement

Duktape 1.4.0 performance measurement

Measurement host:

  • "Intel(R) Core(TM) i7-4600U CPU @ 2.10GHz" laptop

Duktape is compiled with:

  • gcc-4.8.4 (Ubuntu 14.04.3) on x64
  • gcc -O2
  • debugger and interrupt executor support enabled
  • fastints enabled (not default)
  • JSON.stringify() fast path enabled for columns marked "json", disabled otherwise (default)

Note that:

  • These are microbenchmarks, and don't necessarily represent application performance very well. Microbenchmarks are useful for measuring how well different parts of the engine work.

  • Only relative numbers matter. Loop counts differ between test cases so the numbers for two tests are not directly comparable. Absolute numbers may also change between test runs if test target is different.

  • The measurement process is not very accurate: it's based on running the test multiple times and measuring time using the time command.

  • Rhino, Node.js, and LuaJIT are JIT-based engines which are typically 10-100x faster than interpreting engines (like Duktape, MuJS, Lua, etc). Some microbenchmark results may be non-representative because a JIT engine may e.g. eliminate repeated assignments, intended to exercise assignment performance, as dead code.

Performance summary

duk
1.4.0
json
duk
1.4.0
 
duk
1.3.1
json
duk
1.2.5
 
duk
1.1.3
 
duk
1.0.2
 
mujs lua
5.1
python perl ruby rhino node luajit
test-add-fastint.js 0.09 0.08 0.10 0.15 0.17 0.18 0.40 n/a n/a n/a n/a 0.29 0.02 n/a
test-add-float.js 0.08 0.08 0.11 0.14 0.17 0.18 0.40 n/a n/a n/a n/a 0.28 0.02 n/a
test-add-nan-fastint.js 0.08 0.08 0.12 0.16 0.17 0.18 0.40 n/a n/a n/a n/a 0.27 0.02 n/a
test-add-nan.js 0.08 0.07 0.11 0.15 0.17 0.18 0.41 n/a n/a n/a n/a 0.27 0.02 n/a
test-array-read.js 2.17 2.13 2.30 2.64 2.94 2.99 226.58 0.95 1.77 3.27 1.46 0.37 0.03 0.00
test-array-write.js 2.56 2.55 2.42 3.19 16.63 15.71 240.41 1.13 2.46 3.27 4.06 1.08 0.05 0.00
test-assign-add.js 5.26 5.29 8.79 11.08 10.61 11.44 35.44 3.23 13.87 25.10 10.17 3.65 0.02 0.00
test-assign-addto-nan.js 1.41 1.43 2.62 3.59 2.75 2.90 7.35 n/a n/a n/a n/a 0.34 0.23 n/a
test-assign-addto.js 5.28 5.25 11.37 14.95 10.71 11.52 35.29 3.22 16.36 24.11 10.23 3.61 0.83 0.93
test-assign-const-int.js 2.57 2.54 2.87 4.72 9.77 10.39 9.69 2.13 5.54 22.36 4.08 0.33 0.03 0.00
test-assign-const.js 3.99 4.00 2.85 4.74 11.04 11.54 9.78 2.12 5.51 22.83 4.05 0.32 0.02 0.00
test-assign-literal.js 4.32 4.36 7.08 9.28 10.88 11.64 9.99 2.61 11.99 n/a 4.48 0.31 0.03 0.00
test-assign-proplhs-reg.js 3.77 3.66 3.96 4.12 4.67 3.86 2.41 n/a n/a n/a n/a 1.72 n/a n/a
test-assign-proprhs.js 4.26 4.18 4.66 5.61 5.48 5.57 2.48 n/a n/a n/a n/a 0.88 0.02 n/a
test-assign-reg.js 2.88 2.87 5.30 9.65 5.39 5.55 8.88 2.27 5.83 23.42 4.13 0.34 0.03 0.00
test-base64-decode-whitespace.js 1.91 1.89 11.04 10.74 10.89 10.81 n/a n/a 8.77 n/a n/a n/a n/a n/a
test-base64-decode.js 1.53 1.54 5.46 5.54 5.97 5.34 n/a n/a 8.76 n/a n/a n/a n/a n/a
test-base64-encode.js 1.85 1.88 17.52 17.18 17.30 17.28 n/a n/a 17.23 n/a n/a n/a n/a n/a
test-bitwise-ops.js 0.75 0.76 0.86 1.13 5.09 5.24 3.36 n/a n/a n/a n/a 7.84 0.02 n/a
test-break-fast.js 1.67 1.70 1.48 1.84 1.88 2.03 1.20 n/a n/a n/a n/a 0.30 0.04 n/a
test-break-slow.js 7.72 7.79 11.21 11.83 11.48 11.49 2.59 n/a n/a n/a n/a 0.30 0.54 n/a
test-buffer-nodejs-read.js 2.74 2.78 2.60 n/a n/a n/a n/a n/a n/a n/a n/a n/a 0.03 n/a
test-buffer-nodejs-write.js 3.03 3.05 3.29 n/a n/a n/a n/a n/a n/a n/a n/a n/a 0.05 n/a
test-buffer-object-read.js 2.89 2.72 2.65 18.66 19.11 19.82 n/a n/a n/a n/a n/a n/a n/a n/a
test-buffer-object-write.js 3.03 3.08 3.31 22.62 23.33 20.32 n/a n/a n/a n/a n/a n/a n/a n/a
test-buffer-plain-read.js 2.21 2.26 2.16 2.46 2.72 2.75 n/a n/a n/a n/a n/a n/a n/a n/a
test-buffer-plain-write.js 1.90 1.94 1.75 2.35 5.01 3.20 n/a n/a n/a n/a n/a n/a n/a n/a
test-call-basic-1.js 9.15 9.01 12.00 12.23 14.31 13.99 6.56 2.18 5.25 7.77 3.39 1.39 0.03 0.00
test-call-basic-2.js 9.11 9.02 12.01 12.28 14.50 14.02 4.81 n/a n/a n/a n/a 0.64 0.03 n/a
test-call-basic-3.js 14.65 14.60 20.00 19.97 21.23 21.22 12.42 n/a n/a n/a n/a 0.61 0.12 n/a
test-call-basic-4.js 35.17 35.60 45.09 50.11 50.21 49.83 36.46 n/a n/a n/a n/a 1.43 0.53 n/a
test-call-native.js 14.14 13.59 18.82 18.70 20.75 20.50 17.13 n/a n/a n/a n/a 1.47 3.71 n/a
test-compile-mandel-nofrac.js 13.17 13.04 13.68 16.89 18.41 18.25 5.87 n/a n/a n/a n/a 7.10 0.04 n/a
test-compile-mandel.js 16.22 16.32 16.60 19.80 21.59 21.46 5.85 n/a n/a n/a n/a 7.01 0.07 n/a
test-compile-short.js 9.95 9.98 10.13 9.99 10.97 10.62 2.11 n/a n/a n/a n/a 3.64 0.17 n/a
test-continue-fast.js 2.17 2.22 1.95 2.51 2.70 2.81 1.96 n/a n/a n/a n/a 0.51 0.05 n/a
test-continue-slow.js 8.42 8.44 11.78 12.52 12.43 12.52 3.35 n/a n/a n/a n/a 0.54 0.57 n/a
test-empty-loop.js 2.29 2.38 2.37 3.12 5.73 5.90 5.83 1.00 4.57 3.41 3.32 0.66 0.07 0.16
test-fib.js 7.90 7.61 8.60 9.17 9.82 9.89 3.30 1.33 2.41 6.43 1.52 1.18 0.16 0.27
test-global-lookup.js 10.71 10.23 11.29 11.50 11.71 11.27 4.11 n/a n/a n/a n/a 1.14 0.02 n/a
test-hello-world.js 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.22 0.02 0.00
test-hex-decode.js 3.60 3.61 5.34 5.32 9.38 9.36 n/a n/a 12.51 n/a n/a n/a n/a n/a
test-hex-encode.js 2.80 2.82 6.06 6.00 6.69 6.72 n/a n/a 1.43 n/a n/a n/a n/a n/a
test-jc-serialize-indented.js 3.64 23.03 34.18 37.45 40.70 40.49 n/a n/a n/a n/a n/a n/a n/a n/a
test-jc-serialize.js 2.48 20.93 28.54 31.37 34.76 36.39 n/a n/a n/a n/a n/a n/a n/a n/a
test-json-parse-hex.js 3.36 3.38 6.61 6.64 8.33 8.33 n/a n/a n/a n/a n/a n/a n/a n/a
test-json-parse-integer.js 3.94 4.01 4.06 4.09 4.06 4.12 20.95 n/a 0.07 n/a n/a 2.26 0.32 n/a
test-json-parse-number.js 5.19 5.21 5.10 5.04 5.25 5.27 2.46 n/a 0.29 n/a n/a 1.56 0.19 n/a
test-json-parse-string.js 5.47 5.69 5.62 30.08 30.04 30.01 44.72 n/a n/a n/a n/a 22.48 6.08 n/a
test-json-serialize-fastpath-loop.js 3.64 19.45 32.38 35.70 40.51 38.37 12.57 n/a n/a n/a n/a 111.97 32.99 n/a
test-json-serialize-hex.js 1.45 1.49 2.78 24.35 23.75 22.47 n/a n/a n/a n/a n/a n/a n/a n/a
test-json-serialize-indented-deep100.js 2.39 2.30 3.62 3.82 3.89 3.87 1.43 n/a n/a n/a n/a 40.94 1.05 n/a
test-json-serialize-indented-deep25.js 3.30 27.25 44.80 47.44 50.61 48.59 10.29 n/a n/a n/a n/a 61.10 13.91 n/a
test-json-serialize-indented-deep500.js 1.45 1.44 2.37 2.44 2.49 2.41 n/a n/a n/a n/a n/a 1246.26 0.52 n/a
test-json-serialize-indented.js 6.25 46.83 69.94 76.16 82.02 82.05 14.79 n/a n/a n/a n/a 25.46 23.71 n/a
test-json-serialize-jsonrpc-message.js 1.97 2.52 3.97 7.85 8.02 7.75 n/a n/a n/a n/a n/a n/a n/a n/a
test-json-serialize-nofrac.js 0.69 4.83 0.69 6.98 7.44 7.29 1.55 n/a n/a n/a n/a 4.14 0.61 n/a
test-json-serialize-slowpath-loop.js 5.81 5.75 8.58 9.44 10.30 10.03 n/a n/a n/a n/a n/a 11.92 2.97 n/a
test-json-serialize.js 6.24 10.39 6.30 12.47 12.90 12.70 2.17 n/a 0.51 n/a n/a 5.40 0.70 n/a
test-json-string-bench.js 5.26 5.25 5.46 5.42 6.72 6.57 51.06 n/a n/a n/a n/a 1.98 0.25 n/a
test-json-string-stringify.js 5.14 5.19 6.47 17.75 17.82 17.09 10.72 n/a 0.48 n/a n/a 18.39 5.98 n/a
test-jx-serialize-indented.js 3.72 22.64 34.09 36.06 39.81 39.56 n/a n/a n/a n/a n/a n/a n/a n/a
test-jx-serialize.js 2.51 20.96 28.32 30.44 34.09 33.28 n/a n/a n/a n/a n/a n/a n/a n/a
test-mandel.js 4.36 4.34 4.75 5.88 6.34 6.71 13.92 n/a n/a n/a n/a 1.60 0.21 n/a
test-prop-read.js 4.89 4.80 5.25 6.18 6.43 6.50 3.76 1.03 2.44 4.85 11.16 0.67 0.02 0.00
test-prop-write.js 4.28 4.21 4.44 4.86 5.68 4.79 3.73 1.16 2.45 4.96 14.77 1.90 0.03 0.00
test-reg-readwrite-object.js 3.31 3.22 7.79 10.93 7.18 7.48 7.81 1.75 4.80 29.30 4.00 0.36 0.02 0.00
test-reg-readwrite-plain.js 2.07 2.06 5.07 9.42 4.90 4.94 7.75 1.76 4.79 32.32 4.03 0.38 0.01 0.00
test-regexp-case-insensitive.js 23.44 23.42 23.37 23.50 24.28 24.39 0.00 n/a n/a n/a n/a 0.23 0.01 n/a
test-regexp-string-parse.js 9.75 9.52 10.66 12.83 12.68 12.74 n/a n/a 0.51 n/a n/a n/a 0.08 n/a
test-string-array-concat.js 6.68 6.79 6.49 7.83 24.22 23.52 261.36 2.11 2.84 7.44 7.84 1.99 0.39 0.86
test-string-charlen-ascii.js 1.36 1.39 5.31 5.32 5.33 5.33 4.70 n/a n/a n/a n/a 0.35 0.02 n/a
test-string-charlen-nonascii.js 2.82 2.80 3.92 3.94 3.95 3.96 7.14 n/a n/a n/a n/a 0.34 0.02 n/a
test-string-compare.js 3.91 3.82 3.82 4.61 6.08 6.11 731.42 2.81 4.89 16.51 5.37 4.43 0.87 0.13
test-string-decodeuri.js 3.59 3.59 3.58 4.15 4.08 4.16 2.07 n/a n/a n/a n/a 2.11 3.90 n/a
test-string-encodeuri.js 4.09 4.07 4.28 6.23 6.31 6.24 3.63 n/a n/a n/a n/a 6.91 40.88 n/a
test-string-intern-grow-short.js 20.92 20.74 7.18 7.73 13.37 12.34 n/a n/a n/a n/a n/a n/a n/a n/a
test-string-intern-grow-short2.js 7.35 7.35 7.27 7.81 13.32 12.45 n/a n/a n/a n/a n/a n/a n/a n/a
test-string-intern-grow.js 39.22 39.43 4.98 4.93 5.57 5.56 n/a n/a n/a n/a n/a n/a n/a n/a
test-string-intern-grow2.js 3.38 3.23 5.09 5.17 5.79 5.76 n/a n/a n/a n/a n/a n/a n/a n/a
test-string-intern-match-short.js 2.72 2.75 2.29 2.35 2.39 2.36 n/a n/a n/a n/a n/a n/a n/a n/a
test-string-intern-match.js 0.36 0.36 0.96 1.00 1.03 1.03 n/a n/a n/a n/a n/a n/a n/a n/a
test-string-intern-miss-short.js 5.55 5.67 5.11 5.23 5.50 5.52 n/a n/a n/a n/a n/a n/a n/a n/a
test-string-intern-miss.js 1.27 1.27 2.53 2.59 2.80 2.75 n/a n/a n/a n/a n/a n/a n/a n/a
test-string-plain-concat.js 1.04 1.07 4.13 4.16 4.26 4.15 1.03 0.60 0.00 0.41 0.81 0.30 0.02 0.63
test-string-uppercase.js 2.21 2.22 2.65 3.54 3.35 3.48 4.50 n/a 1.28 n/a n/a 1.67 0.09 n/a
test-try-catch-nothrow.js 3.05 3.04 2.57 2.76 2.39 2.45 2.22 n/a n/a n/a n/a 0.30 0.33 n/a
test-try-catch-throw.js 41.50 39.62 39.86 39.99 39.29 38.20 20.53 n/a n/a n/a n/a 133.42 8.02 n/a
test-try-finally-nothrow.js 3.63 3.68 2.81 3.32 3.12 3.18 2.06 n/a n/a n/a n/a 0.32 0.54 n/a
test-try-finally-throw.js 51.09 49.40 46.12 45.92 45.58 45.41 22.90 n/a n/a n/a n/a 130.83 10.05 n/a

Raw results

test-add-fastint.js                 : duk.O2.140  0.09 duk.O2.140nojson  0.08 duk.O2.131  0.10 duk.O2.125  0.15 duk.O2.113  0.17 duk.O2.102  0.18 mujs  0.40 lua   n/a python   n/a perl   n/a ruby   n/a rhino  0.29 node  0.02 luajit   n/a
test-add-float.js                   : duk.O2.140  0.08 duk.O2.140nojson  0.08 duk.O2.131  0.11 duk.O2.125  0.14 duk.O2.113  0.17 duk.O2.102  0.18 mujs  0.40 lua   n/a python   n/a perl   n/a ruby   n/a rhino  0.28 node  0.02 luajit   n/a
test-add-nan-fastint.js             : duk.O2.140  0.08 duk.O2.140nojson  0.08 duk.O2.131  0.12 duk.O2.125  0.16 duk.O2.113  0.17 duk.O2.102  0.18 mujs  0.40 lua   n/a python   n/a perl   n/a ruby   n/a rhino  0.27 node  0.02 luajit   n/a
test-add-nan.js                     : duk.O2.140  0.08 duk.O2.140nojson  0.07 duk.O2.131  0.11 duk.O2.125  0.15 duk.O2.113  0.17 duk.O2.102  0.18 mujs  0.41 lua   n/a python   n/a perl   n/a ruby   n/a rhino  0.27 node  0.02 luajit   n/a
test-array-read.js                  : duk.O2.140  2.17 duk.O2.140nojson  2.13 duk.O2.131  2.30 duk.O2.125  2.64 duk.O2.113  2.94 duk.O2.102  2.99 mujs 226.58 lua  0.95 python  1.77 perl  3.27 ruby  1.46 rhino  0.37 node  0.03 luajit  0.00
test-array-write.js                 : duk.O2.140  2.56 duk.O2.140nojson  2.55 duk.O2.131  2.42 duk.O2.125  3.19 duk.O2.113 16.63 duk.O2.102 15.71 mujs 240.41 lua  1.13 python  2.46 perl  3.27 ruby  4.06 rhino  1.08 node  0.05 luajit  0.00
test-assign-add.js                  : duk.O2.140  5.26 duk.O2.140nojson  5.29 duk.O2.131  8.79 duk.O2.125 11.08 duk.O2.113 10.61 duk.O2.102 11.44 mujs 35.44 lua  3.23 python 13.87 perl 25.10 ruby 10.17 rhino  3.65 node  0.02 luajit  0.00
test-assign-addto-nan.js            : duk.O2.140  1.41 duk.O2.140nojson  1.43 duk.O2.131  2.62 duk.O2.125  3.59 duk.O2.113  2.75 duk.O2.102  2.90 mujs  7.35 lua   n/a python   n/a perl   n/a ruby   n/a rhino  0.34 node  0.23 luajit   n/a
test-assign-addto.js                : duk.O2.140  5.28 duk.O2.140nojson  5.25 duk.O2.131 11.37 duk.O2.125 14.95 duk.O2.113 10.71 duk.O2.102 11.52 mujs 35.29 lua  3.22 python 16.36 perl 24.11 ruby 10.23 rhino  3.61 node  0.83 luajit  0.93
test-assign-const-int.js            : duk.O2.140  2.57 duk.O2.140nojson  2.54 duk.O2.131  2.87 duk.O2.125  4.72 duk.O2.113  9.77 duk.O2.102 10.39 mujs  9.69 lua  2.13 python  5.54 perl 22.36 ruby  4.08 rhino  0.33 node  0.03 luajit  0.00
test-assign-const.js                : duk.O2.140  3.99 duk.O2.140nojson  4.00 duk.O2.131  2.85 duk.O2.125  4.74 duk.O2.113 11.04 duk.O2.102 11.54 mujs  9.78 lua  2.12 python  5.51 perl 22.83 ruby  4.05 rhino  0.32 node  0.02 luajit  0.00
test-assign-literal.js              : duk.O2.140  4.32 duk.O2.140nojson  4.36 duk.O2.131  7.08 duk.O2.125  9.28 duk.O2.113 10.88 duk.O2.102 11.64 mujs  9.99 lua  2.61 python 11.99 perl   n/a ruby  4.48 rhino  0.31 node  0.03 luajit  0.00
test-assign-proplhs-reg.js          : duk.O2.140  3.77 duk.O2.140nojson  3.66 duk.O2.131  3.96 duk.O2.125  4.12 duk.O2.113  4.67 duk.O2.102  3.86 mujs  2.41 lua   n/a python   n/a perl   n/a ruby   n/a rhino  1.72 node   n/a luajit   n/a
test-assign-proprhs.js              : duk.O2.140  4.26 duk.O2.140nojson  4.18 duk.O2.131  4.66 duk.O2.125  5.61 duk.O2.113  5.48 duk.O2.102  5.57 mujs  2.48 lua   n/a python   n/a perl   n/a ruby   n/a rhino  0.88 node  0.02 luajit   n/a
test-assign-reg.js                  : duk.O2.140  2.88 duk.O2.140nojson  2.87 duk.O2.131  5.30 duk.O2.125  9.65 duk.O2.113  5.39 duk.O2.102  5.55 mujs  8.88 lua  2.27 python  5.83 perl 23.42 ruby  4.13 rhino  0.34 node  0.03 luajit  0.00
test-base64-decode-whitespace.js    : duk.O2.140  1.91 duk.O2.140nojson  1.89 duk.O2.131 11.04 duk.O2.125 10.74 duk.O2.113 10.89 duk.O2.102 10.81 mujs   n/a lua   n/a python  8.77 perl   n/a ruby   n/a rhino   n/a node   n/a luajit   n/a
test-base64-decode.js               : duk.O2.140  1.53 duk.O2.140nojson  1.54 duk.O2.131  5.46 duk.O2.125  5.54 duk.O2.113  5.97 duk.O2.102  5.34 mujs   n/a lua   n/a python  8.76 perl   n/a ruby   n/a rhino   n/a node   n/a luajit   n/a
test-base64-encode.js               : duk.O2.140  1.85 duk.O2.140nojson  1.88 duk.O2.131 17.52 duk.O2.125 17.18 duk.O2.113 17.30 duk.O2.102 17.28 mujs   n/a lua   n/a python 17.23 perl   n/a ruby   n/a rhino   n/a node   n/a luajit   n/a
test-bitwise-ops.js                 : duk.O2.140  0.75 duk.O2.140nojson  0.76 duk.O2.131  0.86 duk.O2.125  1.13 duk.O2.113  5.09 duk.O2.102  5.24 mujs  3.36 lua   n/a python   n/a perl   n/a ruby   n/a rhino  7.84 node  0.02 luajit   n/a
test-break-fast.js                  : duk.O2.140  1.67 duk.O2.140nojson  1.70 duk.O2.131  1.48 duk.O2.125  1.84 duk.O2.113  1.88 duk.O2.102  2.03 mujs  1.20 lua   n/a python   n/a perl   n/a ruby   n/a rhino  0.30 node  0.04 luajit   n/a
test-break-slow.js                  : duk.O2.140  7.72 duk.O2.140nojson  7.79 duk.O2.131 11.21 duk.O2.125 11.83 duk.O2.113 11.48 duk.O2.102 11.49 mujs  2.59 lua   n/a python   n/a perl   n/a ruby   n/a rhino  0.30 node  0.54 luajit   n/a
test-buffer-nodejs-read.js          : duk.O2.140  2.74 duk.O2.140nojson  2.78 duk.O2.131  2.60 duk.O2.125   n/a duk.O2.113   n/a duk.O2.102   n/a mujs   n/a lua   n/a python   n/a perl   n/a ruby   n/a rhino   n/a node  0.03 luajit   n/a
test-buffer-nodejs-write.js         : duk.O2.140  3.03 duk.O2.140nojson  3.05 duk.O2.131  3.29 duk.O2.125   n/a duk.O2.113   n/a duk.O2.102   n/a mujs   n/a lua   n/a python   n/a perl   n/a ruby   n/a rhino   n/a node  0.05 luajit   n/a
test-buffer-object-read.js          : duk.O2.140  2.89 duk.O2.140nojson  2.72 duk.O2.131  2.65 duk.O2.125 18.66 duk.O2.113 19.11 duk.O2.102 19.82 mujs   n/a lua   n/a python   n/a perl   n/a ruby   n/a rhino   n/a node   n/a luajit   n/a
test-buffer-object-write.js         : duk.O2.140  3.03 duk.O2.140nojson  3.08 duk.O2.131  3.31 duk.O2.125 22.62 duk.O2.113 23.33 duk.O2.102 20.32 mujs   n/a lua   n/a python   n/a perl   n/a ruby   n/a rhino   n/a node   n/a luajit   n/a
test-buffer-plain-read.js           : duk.O2.140  2.21 duk.O2.140nojson  2.26 duk.O2.131  2.16 duk.O2.125  2.46 duk.O2.113  2.72 duk.O2.102  2.75 mujs   n/a lua   n/a python   n/a perl   n/a ruby   n/a rhino   n/a node   n/a luajit   n/a
test-buffer-plain-write.js          : duk.O2.140  1.90 duk.O2.140nojson  1.94 duk.O2.131  1.75 duk.O2.125  2.35 duk.O2.113  5.01 duk.O2.102  3.20 mujs   n/a lua   n/a python   n/a perl   n/a ruby   n/a rhino   n/a node   n/a luajit   n/a
test-call-basic-1.js                : duk.O2.140  9.15 duk.O2.140nojson  9.01 duk.O2.131 12.00 duk.O2.125 12.23 duk.O2.113 14.31 duk.O2.102 13.99 mujs  6.56 lua  2.18 python  5.25 perl  7.77 ruby  3.39 rhino  1.39 node  0.03 luajit  0.00
test-call-basic-2.js                : duk.O2.140  9.11 duk.O2.140nojson  9.02 duk.O2.131 12.01 duk.O2.125 12.28 duk.O2.113 14.50 duk.O2.102 14.02 mujs  4.81 lua   n/a python   n/a perl   n/a ruby   n/a rhino  0.64 node  0.03 luajit   n/a
test-call-basic-3.js                : duk.O2.140 14.65 duk.O2.140nojson 14.60 duk.O2.131 20.00 duk.O2.125 19.97 duk.O2.113 21.23 duk.O2.102 21.22 mujs 12.42 lua   n/a python   n/a perl   n/a ruby   n/a rhino  0.61 node  0.12 luajit   n/a
test-call-basic-4.js                : duk.O2.140 35.17 duk.O2.140nojson 35.60 duk.O2.131 45.09 duk.O2.125 50.11 duk.O2.113 50.21 duk.O2.102 49.83 mujs 36.46 lua   n/a python   n/a perl   n/a ruby   n/a rhino  1.43 node  0.53 luajit   n/a
test-call-native.js                 : duk.O2.140 14.14 duk.O2.140nojson 13.59 duk.O2.131 18.82 duk.O2.125 18.70 duk.O2.113 20.75 duk.O2.102 20.50 mujs 17.13 lua   n/a python   n/a perl   n/a ruby   n/a rhino  1.47 node  3.71 luajit   n/a
test-compile-mandel-nofrac.js       : duk.O2.140 13.17 duk.O2.140nojson 13.04 duk.O2.131 13.68 duk.O2.125 16.89 duk.O2.113 18.41 duk.O2.102 18.25 mujs  5.87 lua   n/a python   n/a perl   n/a ruby   n/a rhino  7.10 node  0.04 luajit   n/a
test-compile-mandel.js              : duk.O2.140 16.22 duk.O2.140nojson 16.32 duk.O2.131 16.60 duk.O2.125 19.80 duk.O2.113 21.59 duk.O2.102 21.46 mujs  5.85 lua   n/a python   n/a perl   n/a ruby   n/a rhino  7.01 node  0.07 luajit   n/a
test-compile-short.js               : duk.O2.140  9.95 duk.O2.140nojson  9.98 duk.O2.131 10.13 duk.O2.125  9.99 duk.O2.113 10.97 duk.O2.102 10.62 mujs  2.11 lua   n/a python   n/a perl   n/a ruby   n/a rhino  3.64 node  0.17 luajit   n/a
test-continue-fast.js               : duk.O2.140  2.17 duk.O2.140nojson  2.22 duk.O2.131  1.95 duk.O2.125  2.51 duk.O2.113  2.70 duk.O2.102  2.81 mujs  1.96 lua   n/a python   n/a perl   n/a ruby   n/a rhino  0.51 node  0.05 luajit   n/a
test-continue-slow.js               : duk.O2.140  8.42 duk.O2.140nojson  8.44 duk.O2.131 11.78 duk.O2.125 12.52 duk.O2.113 12.43 duk.O2.102 12.52 mujs  3.35 lua   n/a python   n/a perl   n/a ruby   n/a rhino  0.54 node  0.57 luajit   n/a
test-empty-loop.js                  : duk.O2.140  2.29 duk.O2.140nojson  2.38 duk.O2.131  2.37 duk.O2.125  3.12 duk.O2.113  5.73 duk.O2.102  5.90 mujs  5.83 lua  1.00 python  4.57 perl  3.41 ruby  3.32 rhino  0.66 node  0.07 luajit  0.16
test-fib.js                         : duk.O2.140  7.90 duk.O2.140nojson  7.61 duk.O2.131  8.60 duk.O2.125  9.17 duk.O2.113  9.82 duk.O2.102  9.89 mujs  3.30 lua  1.33 python  2.41 perl  6.43 ruby  1.52 rhino  1.18 node  0.16 luajit  0.27
test-global-lookup.js               : duk.O2.140 10.71 duk.O2.140nojson 10.23 duk.O2.131 11.29 duk.O2.125 11.50 duk.O2.113 11.71 duk.O2.102 11.27 mujs  4.11 lua   n/a python   n/a perl   n/a ruby   n/a rhino  1.14 node  0.02 luajit   n/a
test-hello-world.js                 : duk.O2.140  0.00 duk.O2.140nojson  0.00 duk.O2.131  0.00 duk.O2.125  0.00 duk.O2.113  0.00 duk.O2.102  0.00 mujs  0.00 lua  0.00 python  0.00 perl  0.00 ruby  0.00 rhino  0.22 node  0.02 luajit  0.00
test-hex-decode.js                  : duk.O2.140  3.60 duk.O2.140nojson  3.61 duk.O2.131  5.34 duk.O2.125  5.32 duk.O2.113  9.38 duk.O2.102  9.36 mujs   n/a lua   n/a python 12.51 perl   n/a ruby   n/a rhino   n/a node   n/a luajit   n/a
test-hex-encode.js                  : duk.O2.140  2.80 duk.O2.140nojson  2.82 duk.O2.131  6.06 duk.O2.125  6.00 duk.O2.113  6.69 duk.O2.102  6.72 mujs   n/a lua   n/a python  1.43 perl   n/a ruby   n/a rhino   n/a node   n/a luajit   n/a
test-jc-serialize-indented.js       : duk.O2.140  3.64 duk.O2.140nojson 23.03 duk.O2.131 34.18 duk.O2.125 37.45 duk.O2.113 40.70 duk.O2.102 40.49 mujs   n/a lua   n/a python   n/a perl   n/a ruby   n/a rhino   n/a node   n/a luajit   n/a
test-jc-serialize.js                : duk.O2.140  2.48 duk.O2.140nojson 20.93 duk.O2.131 28.54 duk.O2.125 31.37 duk.O2.113 34.76 duk.O2.102 36.39 mujs   n/a lua   n/a python   n/a perl   n/a ruby   n/a rhino   n/a node   n/a luajit   n/a
test-json-parse-hex.js              : duk.O2.140  3.36 duk.O2.140nojson  3.38 duk.O2.131  6.61 duk.O2.125  6.64 duk.O2.113  8.33 duk.O2.102  8.33 mujs   n/a lua   n/a python   n/a perl   n/a ruby   n/a rhino   n/a node   n/a luajit   n/a
test-json-parse-integer.js          : duk.O2.140  3.94 duk.O2.140nojson  4.01 duk.O2.131  4.06 duk.O2.125  4.09 duk.O2.113  4.06 duk.O2.102  4.12 mujs 20.95 lua   n/a python  0.07 perl   n/a ruby   n/a rhino  2.26 node  0.32 luajit   n/a
test-json-parse-number.js           : duk.O2.140  5.19 duk.O2.140nojson  5.21 duk.O2.131  5.10 duk.O2.125  5.04 duk.O2.113  5.25 duk.O2.102  5.27 mujs  2.46 lua   n/a python  0.29 perl   n/a ruby   n/a rhino  1.56 node  0.19 luajit   n/a
test-json-parse-string.js           : duk.O2.140  5.47 duk.O2.140nojson  5.69 duk.O2.131  5.62 duk.O2.125 30.08 duk.O2.113 30.04 duk.O2.102 30.01 mujs 44.72 lua   n/a python   n/a perl   n/a ruby   n/a rhino 22.48 node  6.08 luajit   n/a
test-json-serialize-fastpath-loop.js: duk.O2.140  3.64 duk.O2.140nojson 19.45 duk.O2.131 32.38 duk.O2.125 35.70 duk.O2.113 40.51 duk.O2.102 38.37 mujs 12.57 lua   n/a python   n/a perl   n/a ruby   n/a rhino 111.97 node 32.99 luajit   n/a
test-json-serialize-hex.js          : duk.O2.140  1.45 duk.O2.140nojson  1.49 duk.O2.131  2.78 duk.O2.125 24.35 duk.O2.113 23.75 duk.O2.102 22.47 mujs   n/a lua   n/a python   n/a perl   n/a ruby   n/a rhino   n/a node   n/a luajit   n/a
test-json-serialize-indented-deep100.js: duk.O2.140  2.39 duk.O2.140nojson  2.30 duk.O2.131  3.62 duk.O2.125  3.82 duk.O2.113  3.89 duk.O2.102  3.87 mujs  1.43 lua   n/a python   n/a perl   n/a ruby   n/a rhino 40.94 node  1.05 luajit   n/a
test-json-serialize-indented-deep25.js: duk.O2.140  3.30 duk.O2.140nojson 27.25 duk.O2.131 44.80 duk.O2.125 47.44 duk.O2.113 50.61 duk.O2.102 48.59 mujs 10.29 lua   n/a python   n/a perl   n/a ruby   n/a rhino 61.10 node 13.91 luajit   n/a
test-json-serialize-indented-deep500.js: duk.O2.140  1.45 duk.O2.140nojson  1.44 duk.O2.131  2.37 duk.O2.125  2.44 duk.O2.113  2.49 duk.O2.102  2.41 mujs   n/a lua   n/a python   n/a perl   n/a ruby   n/a rhino 1246.26 node  0.52 luajit   n/a
test-json-serialize-indented.js     : duk.O2.140  6.25 duk.O2.140nojson 46.83 duk.O2.131 69.94 duk.O2.125 76.16 duk.O2.113 82.02 duk.O2.102 82.05 mujs 14.79 lua   n/a python   n/a perl   n/a ruby   n/a rhino 25.46 node 23.71 luajit   n/a
test-json-serialize-jsonrpc-message.js: duk.O2.140  1.97 duk.O2.140nojson  2.52 duk.O2.131  3.97 duk.O2.125  7.85 duk.O2.113  8.02 duk.O2.102  7.75 mujs   n/a lua   n/a python   n/a perl   n/a ruby   n/a rhino   n/a node   n/a luajit   n/a
test-json-serialize-nofrac.js       : duk.O2.140  0.69 duk.O2.140nojson  4.83 duk.O2.131  0.69 duk.O2.125  6.98 duk.O2.113  7.44 duk.O2.102  7.29 mujs  1.55 lua   n/a python   n/a perl   n/a ruby   n/a rhino  4.14 node  0.61 luajit   n/a
test-json-serialize-slowpath-loop.js: duk.O2.140  5.81 duk.O2.140nojson  5.75 duk.O2.131  8.58 duk.O2.125  9.44 duk.O2.113 10.30 duk.O2.102 10.03 mujs   n/a lua   n/a python   n/a perl   n/a ruby   n/a rhino 11.92 node  2.97 luajit   n/a
test-json-serialize.js              : duk.O2.140  6.24 duk.O2.140nojson 10.39 duk.O2.131  6.30 duk.O2.125 12.47 duk.O2.113 12.90 duk.O2.102 12.70 mujs  2.17 lua   n/a python  0.51 perl   n/a ruby   n/a rhino  5.40 node  0.70 luajit   n/a
test-json-string-bench.js           : duk.O2.140  5.26 duk.O2.140nojson  5.25 duk.O2.131  5.46 duk.O2.125  5.42 duk.O2.113  6.72 duk.O2.102  6.57 mujs 51.06 lua   n/a python   n/a perl   n/a ruby   n/a rhino  1.98 node  0.25 luajit   n/a
test-json-string-stringify.js       : duk.O2.140  5.14 duk.O2.140nojson  5.19 duk.O2.131  6.47 duk.O2.125 17.75 duk.O2.113 17.82 duk.O2.102 17.09 mujs 10.72 lua   n/a python  0.48 perl   n/a ruby   n/a rhino 18.39 node  5.98 luajit   n/a
test-jx-serialize-indented.js       : duk.O2.140  3.72 duk.O2.140nojson 22.64 duk.O2.131 34.09 duk.O2.125 36.06 duk.O2.113 39.81 duk.O2.102 39.56 mujs   n/a lua   n/a python   n/a perl   n/a ruby   n/a rhino   n/a node   n/a luajit   n/a
test-jx-serialize.js                : duk.O2.140  2.51 duk.O2.140nojson 20.96 duk.O2.131 28.32 duk.O2.125 30.44 duk.O2.113 34.09 duk.O2.102 33.28 mujs   n/a lua   n/a python   n/a perl   n/a ruby   n/a rhino   n/a node   n/a luajit   n/a
test-mandel.js                      : duk.O2.140  4.36 duk.O2.140nojson  4.34 duk.O2.131  4.75 duk.O2.125  5.88 duk.O2.113  6.34 duk.O2.102  6.71 mujs 13.92 lua   n/a python   n/a perl   n/a ruby   n/a rhino  1.60 node  0.21 luajit   n/a
test-prop-read.js                   : duk.O2.140  4.89 duk.O2.140nojson  4.80 duk.O2.131  5.25 duk.O2.125  6.18 duk.O2.113  6.43 duk.O2.102  6.50 mujs  3.76 lua  1.03 python  2.44 perl  4.85 ruby 11.16 rhino  0.67 node  0.02 luajit  0.00
test-prop-write.js                  : duk.O2.140  4.28 duk.O2.140nojson  4.21 duk.O2.131  4.44 duk.O2.125  4.86 duk.O2.113  5.68 duk.O2.102  4.79 mujs  3.73 lua  1.16 python  2.45 perl  4.96 ruby 14.77 rhino  1.90 node  0.03 luajit  0.00
test-reg-readwrite-object.js        : duk.O2.140  3.31 duk.O2.140nojson  3.22 duk.O2.131  7.79 duk.O2.125 10.93 duk.O2.113  7.18 duk.O2.102  7.48 mujs  7.81 lua  1.75 python  4.80 perl 29.30 ruby  4.00 rhino  0.36 node  0.02 luajit  0.00
test-reg-readwrite-plain.js         : duk.O2.140  2.07 duk.O2.140nojson  2.06 duk.O2.131  5.07 duk.O2.125  9.42 duk.O2.113  4.90 duk.O2.102  4.94 mujs  7.75 lua  1.76 python  4.79 perl 32.32 ruby  4.03 rhino  0.38 node  0.01 luajit  0.00
test-regexp-case-insensitive.js     : duk.O2.140 23.44 duk.O2.140nojson 23.42 duk.O2.131 23.37 duk.O2.125 23.50 duk.O2.113 24.28 duk.O2.102 24.39 mujs  0.00 lua   n/a python   n/a perl   n/a ruby   n/a rhino  0.23 node  0.01 luajit   n/a
test-regexp-string-parse.js         : duk.O2.140  9.75 duk.O2.140nojson  9.52 duk.O2.131 10.66 duk.O2.125 12.83 duk.O2.113 12.68 duk.O2.102 12.74 mujs   n/a lua   n/a python  0.51 perl   n/a ruby   n/a rhino   n/a node  0.08 luajit   n/a
test-string-array-concat.js         : duk.O2.140  6.68 duk.O2.140nojson  6.79 duk.O2.131  6.49 duk.O2.125  7.83 duk.O2.113 24.22 duk.O2.102 23.52 mujs 261.36 lua  2.11 python  2.84 perl  7.44 ruby  7.84 rhino  1.99 node  0.39 luajit  0.86
test-string-charlen-ascii.js        : duk.O2.140  1.36 duk.O2.140nojson  1.39 duk.O2.131  5.31 duk.O2.125  5.32 duk.O2.113  5.33 duk.O2.102  5.33 mujs  4.70 lua   n/a python   n/a perl   n/a ruby   n/a rhino  0.35 node  0.02 luajit   n/a
test-string-charlen-nonascii.js     : duk.O2.140  2.82 duk.O2.140nojson  2.80 duk.O2.131  3.92 duk.O2.125  3.94 duk.O2.113  3.95 duk.O2.102  3.96 mujs  7.14 lua   n/a python   n/a perl   n/a ruby   n/a rhino  0.34 node  0.02 luajit   n/a
test-string-compare.js              : duk.O2.140  3.91 duk.O2.140nojson  3.82 duk.O2.131  3.82 duk.O2.125  4.61 duk.O2.113  6.08 duk.O2.102  6.11 mujs 731.42 lua  2.81 python  4.89 perl 16.51 ruby  5.37 rhino  4.43 node  0.87 luajit  0.13
test-string-decodeuri.js            : duk.O2.140  3.59 duk.O2.140nojson  3.59 duk.O2.131  3.58 duk.O2.125  4.15 duk.O2.113  4.08 duk.O2.102  4.16 mujs  2.07 lua   n/a python   n/a perl   n/a ruby   n/a rhino  2.11 node  3.90 luajit   n/a
test-string-encodeuri.js            : duk.O2.140  4.09 duk.O2.140nojson  4.07 duk.O2.131  4.28 duk.O2.125  6.23 duk.O2.113  6.31 duk.O2.102  6.24 mujs  3.63 lua   n/a python   n/a perl   n/a ruby   n/a rhino  6.91 node 40.88 luajit   n/a
test-string-intern-grow-short.js    : duk.O2.140 20.92 duk.O2.140nojson 20.74 duk.O2.131  7.18 duk.O2.125  7.73 duk.O2.113 13.37 duk.O2.102 12.34 mujs   n/a lua   n/a python   n/a perl   n/a ruby   n/a rhino   n/a node   n/a luajit   n/a
test-string-intern-grow-short2.js   : duk.O2.140  7.35 duk.O2.140nojson  7.35 duk.O2.131  7.27 duk.O2.125  7.81 duk.O2.113 13.32 duk.O2.102 12.45 mujs   n/a lua   n/a python   n/a perl   n/a ruby   n/a rhino   n/a node   n/a luajit   n/a
test-string-intern-grow.js          : duk.O2.140 39.22 duk.O2.140nojson 39.43 duk.O2.131  4.98 duk.O2.125  4.93 duk.O2.113  5.57 duk.O2.102  5.56 mujs   n/a lua   n/a python   n/a perl   n/a ruby   n/a rhino   n/a node   n/a luajit   n/a
test-string-intern-grow2.js         : duk.O2.140  3.38 duk.O2.140nojson  3.23 duk.O2.131  5.09 duk.O2.125  5.17 duk.O2.113  5.79 duk.O2.102  5.76 mujs   n/a lua   n/a python   n/a perl   n/a ruby   n/a rhino   n/a node   n/a luajit   n/a
test-string-intern-match-short.js   : duk.O2.140  2.72 duk.O2.140nojson  2.75 duk.O2.131  2.29 duk.O2.125  2.35 duk.O2.113  2.39 duk.O2.102  2.36 mujs   n/a lua   n/a python   n/a perl   n/a ruby   n/a rhino   n/a node   n/a luajit   n/a
test-string-intern-match.js         : duk.O2.140  0.36 duk.O2.140nojson  0.36 duk.O2.131  0.96 duk.O2.125  1.00 duk.O2.113  1.03 duk.O2.102  1.03 mujs   n/a lua   n/a python   n/a perl   n/a ruby   n/a rhino   n/a node   n/a luajit   n/a
test-string-intern-miss-short.js    : duk.O2.140  5.55 duk.O2.140nojson  5.67 duk.O2.131  5.11 duk.O2.125  5.23 duk.O2.113  5.50 duk.O2.102  5.52 mujs   n/a lua   n/a python   n/a perl   n/a ruby   n/a rhino   n/a node   n/a luajit   n/a
test-string-intern-miss.js          : duk.O2.140  1.27 duk.O2.140nojson  1.27 duk.O2.131  2.53 duk.O2.125  2.59 duk.O2.113  2.80 duk.O2.102  2.75 mujs   n/a lua   n/a python   n/a perl   n/a ruby   n/a rhino   n/a node   n/a luajit   n/a
test-string-plain-concat.js         : duk.O2.140  1.04 duk.O2.140nojson  1.07 duk.O2.131  4.13 duk.O2.125  4.16 duk.O2.113  4.26 duk.O2.102  4.15 mujs  1.03 lua  0.60 python  0.00 perl  0.41 ruby  0.81 rhino  0.30 node  0.02 luajit  0.63
test-string-uppercase.js            : duk.O2.140  2.21 duk.O2.140nojson  2.22 duk.O2.131  2.65 duk.O2.125  3.54 duk.O2.113  3.35 duk.O2.102  3.48 mujs  4.50 lua   n/a python  1.28 perl   n/a ruby   n/a rhino  1.67 node  0.09 luajit   n/a
test-try-catch-nothrow.js           : duk.O2.140  3.05 duk.O2.140nojson  3.04 duk.O2.131  2.57 duk.O2.125  2.76 duk.O2.113  2.39 duk.O2.102  2.45 mujs  2.22 lua   n/a python   n/a perl   n/a ruby   n/a rhino  0.30 node  0.33 luajit   n/a
test-try-catch-throw.js             : duk.O2.140 41.50 duk.O2.140nojson 39.62 duk.O2.131 39.86 duk.O2.125 39.99 duk.O2.113 39.29 duk.O2.102 38.20 mujs 20.53 lua   n/a python   n/a perl   n/a ruby   n/a rhino 133.42 node  8.02 luajit   n/a
test-try-finally-nothrow.js         : duk.O2.140  3.63 duk.O2.140nojson  3.68 duk.O2.131  2.81 duk.O2.125  3.32 duk.O2.113  3.12 duk.O2.102  3.18 mujs  2.06 lua   n/a python   n/a perl   n/a ruby   n/a rhino  0.32 node  0.54 luajit   n/a
test-try-finally-throw.js           : duk.O2.140 51.09 duk.O2.140nojson 49.40 duk.O2.131 46.12 duk.O2.125 45.92 duk.O2.113 45.58 duk.O2.102 45.41 mujs 22.90 lua   n/a python   n/a perl   n/a ruby   n/a rhino 130.83 node 10.05 luajit   n/a
Last edited by Sami Vaarala, 2017-09-23 01:46:40