nodejs / node

Node.js JavaScript runtime ✨🐢🚀✨
https://nodejs.org
Other
107.38k stars 29.5k forks source link

Ignition + TurboFan: Node.js benchmarks #11851

Closed vsemozhetbyt closed 7 years ago

vsemozhetbyt commented 7 years ago

This commit in the v8/node/vee-eight-lkgr has turned the new Ignition+TurboFan pipeline on by default. To see the performance impact, I've built vee-eight-lkgr before and after this commit and have started common Node.js benchmark suites with them. Both builds have these same versions:

{ http_parser: '2.7.0',
  node: '8.0.0-pre',
  v8: '5.9.0 (candidate)',
  uv: '1.11.0',
  zlib: '1.2.11',
  ares: '1.10.1-DEV',
  modules: '56',
  openssl: '1.0.2k',
  icu: '58.2',
  unicode: '9.0',
  cldr: '30.0.3',
  tz: '2016j' }

As my machine is not a fast one, I will post the results piecemeal.

UPD. All suites are complete.

TOC:

vsemozhetbyt commented 7 years ago
arrays: ``` improvement confidence p.value arrays\\var-int.js n=25 type="Array" 2.12 % *** 1.911996e-11 arrays\\var-int.js n=25 type="Buffer" -1.39 % *** 2.953185e-13 arrays\\var-int.js n=25 type="Float32Array" 1.36 % *** 4.482114e-21 arrays\\var-int.js n=25 type="Float64Array" -1.29 % *** 3.712094e-13 arrays\\var-int.js n=25 type="Int16Array" -1.71 % *** 3.185373e-15 arrays\\var-int.js n=25 type="Int32Array" -0.84 % *** 3.184537e-04 arrays\\var-int.js n=25 type="Int8Array" -1.43 % *** 2.081429e-16 arrays\\var-int.js n=25 type="Uint16Array" -1.61 % *** 1.591048e-17 arrays\\var-int.js n=25 type="Uint32Array" -0.51 % * 4.560219e-02 arrays\\var-int.js n=25 type="Uint8Array" -1.42 % *** 3.315598e-35 arrays\\zero-float.js n=25 type="Array" -0.29 % * 2.067735e-02 arrays\\zero-float.js n=25 type="Buffer" 0.81 % *** 1.432181e-14 arrays\\zero-float.js n=25 type="Float32Array" 10.16 % *** 1.887618e-43 arrays\\zero-float.js n=25 type="Float64Array" 0.37 % ** 1.180476e-03 arrays\\zero-float.js n=25 type="Int16Array" -1.19 % *** 7.951452e-28 arrays\\zero-float.js n=25 type="Int32Array" -6.52 % *** 1.214743e-42 arrays\\zero-float.js n=25 type="Int8Array" -17.88 % *** 7.204014e-81 arrays\\zero-float.js n=25 type="Uint16Array" -1.16 % *** 2.603611e-21 arrays\\zero-float.js n=25 type="Uint32Array" -6.40 % *** 5.803861e-43 arrays\\zero-float.js n=25 type="Uint8Array" -17.86 % *** 7.705079e-84 arrays\\zero-int.js n=25 type="Array" -0.43 % * 3.411995e-02 arrays\\zero-int.js n=25 type="Buffer" 0.93 % *** 3.097691e-12 arrays\\zero-int.js n=25 type="Float32Array" 10.41 % *** 3.242834e-58 arrays\\zero-int.js n=25 type="Float64Array" 0.61 % ** 6.996484e-03 arrays\\zero-int.js n=25 type="Int16Array" -1.18 % *** 7.198962e-17 arrays\\zero-int.js n=25 type="Int32Array" -6.24 % *** 2.192567e-42 arrays\\zero-int.js n=25 type="Int8Array" -17.80 % *** 4.249127e-61 arrays\\zero-int.js n=25 type="Uint16Array" -1.04 % *** 1.051799e-17 arrays\\zero-int.js n=25 type="Uint32Array" -6.41 % *** 7.414706e-53 arrays\\zero-int.js n=25 type="Uint8Array" -17.98 % *** 6.231374e-72 ```
vsemozhetbyt commented 7 years ago
assert: ``` improvement confidence p.value assert\\deepequal-buffer.js method="nonstrict" len=100 n=1000 6.08 % *** 2.240694e-16 assert\\deepequal-buffer.js method="strict" len=100 n=1000 6.36 % *** 1.715121e-08 assert\\deepequal-prims-and-objs-big-array.js method="nonstrict" len=100000 n=25 prim="array" 11.16 % *** 3.089537e-20 assert\\deepequal-prims-and-objs-big-array.js method="nonstrict" len=100000 n=25 prim="boolean" 11.65 % *** 6.319150e-35 assert\\deepequal-prims-and-objs-big-array.js method="nonstrict" len=100000 n=25 prim="new-array" 11.43 % *** 1.019362e-28 assert\\deepequal-prims-and-objs-big-array.js method="nonstrict" len=100000 n=25 prim="null" 11.81 % *** 6.516888e-28 assert\\deepequal-prims-and-objs-big-array.js method="nonstrict" len=100000 n=25 prim="number" 10.07 % *** 3.636875e-23 assert\\deepequal-prims-and-objs-big-array.js method="nonstrict" len=100000 n=25 prim="object" 11.48 % *** 2.818413e-35 assert\\deepequal-prims-and-objs-big-array.js method="nonstrict" len=100000 n=25 prim="string" 11.38 % *** 8.847026e-29 assert\\deepequal-prims-and-objs-big-array.js method="nonstrict" len=100000 n=25 prim="undefined" 11.83 % *** 2.848567e-29 assert\\deepequal-prims-and-objs-big-array.js method="strict" len=100000 n=25 prim="array" 11.18 % *** 1.020906e-28 assert\\deepequal-prims-and-objs-big-array.js method="strict" len=100000 n=25 prim="boolean" 10.51 % *** 5.346165e-17 assert\\deepequal-prims-and-objs-big-array.js method="strict" len=100000 n=25 prim="new-array" 11.35 % *** 6.250137e-27 assert\\deepequal-prims-and-objs-big-array.js method="strict" len=100000 n=25 prim="null" 10.45 % *** 2.073088e-24 assert\\deepequal-prims-and-objs-big-array.js method="strict" len=100000 n=25 prim="number" 10.37 % *** 1.018234e-15 assert\\deepequal-prims-and-objs-big-array.js method="strict" len=100000 n=25 prim="object" 10.44 % *** 3.487968e-24 assert\\deepequal-prims-and-objs-big-array.js method="strict" len=100000 n=25 prim="string" 11.79 % *** 1.710809e-38 assert\\deepequal-prims-and-objs-big-array.js method="strict" len=100000 n=25 prim="undefined" 10.91 % *** 3.133955e-27 assert\\deepequal-prims-and-objs-big-loop.js method="nonstrict" n=1000000 prim="array" 39.25 % *** 2.220953e-63 assert\\deepequal-prims-and-objs-big-loop.js method="nonstrict" n=1000000 prim="boolean" 39.48 % *** 3.117618e-82 assert\\deepequal-prims-and-objs-big-loop.js method="nonstrict" n=1000000 prim="new-array" 40.43 % *** 1.118514e-73 assert\\deepequal-prims-and-objs-big-loop.js method="nonstrict" n=1000000 prim="null" 39.43 % *** 6.743661e-77 assert\\deepequal-prims-and-objs-big-loop.js method="nonstrict" n=1000000 prim="number" 36.70 % *** 8.813610e-64 assert\\deepequal-prims-and-objs-big-loop.js method="nonstrict" n=1000000 prim="object" 40.04 % *** 2.289447e-64 assert\\deepequal-prims-and-objs-big-loop.js method="nonstrict" n=1000000 prim="string" 39.03 % *** 1.345610e-76 assert\\deepequal-prims-and-objs-big-loop.js method="nonstrict" n=1000000 prim="undefined" 39.12 % *** 2.970695e-76 assert\\deepequal-prims-and-objs-big-loop.js method="strict" n=1000000 prim="array" 36.64 % *** 3.348739e-60 assert\\deepequal-prims-and-objs-big-loop.js method="strict" n=1000000 prim="boolean" 33.43 % *** 1.410337e-65 assert\\deepequal-prims-and-objs-big-loop.js method="strict" n=1000000 prim="new-array" 35.21 % *** 6.250969e-64 assert\\deepequal-prims-and-objs-big-loop.js method="strict" n=1000000 prim="null" 33.86 % *** 1.815821e-64 assert\\deepequal-prims-and-objs-big-loop.js method="strict" n=1000000 prim="number" 32.49 % *** 2.435150e-57 assert\\deepequal-prims-and-objs-big-loop.js method="strict" n=1000000 prim="object" 36.99 % *** 3.538131e-46 assert\\deepequal-prims-and-objs-big-loop.js method="strict" n=1000000 prim="string" 33.83 % *** 2.264266e-56 assert\\deepequal-prims-and-objs-big-loop.js method="strict" n=1000000 prim="undefined" 34.27 % *** 2.675520e-61 assert\\deepequal-typedarrays.js len=1000000 method="nonstrict" n=1 type="Float32Array" -11.66 % *** 7.849993e-27 assert\\deepequal-typedarrays.js len=1000000 method="nonstrict" n=1 type="Float64Array" -11.36 % *** 3.903625e-29 assert\\deepequal-typedarrays.js len=1000000 method="nonstrict" n=1 type="Int16Array" 8.10 % *** 1.298645e-16 assert\\deepequal-typedarrays.js len=1000000 method="nonstrict" n=1 type="Int32Array" 6.88 % *** 4.351738e-15 assert\\deepequal-typedarrays.js len=1000000 method="nonstrict" n=1 type="Int8Array" 10.21 % *** 3.566406e-21 assert\\deepequal-typedarrays.js len=1000000 method="nonstrict" n=1 type="Uint16Array" 6.94 % *** 6.770045e-14 assert\\deepequal-typedarrays.js len=1000000 method="nonstrict" n=1 type="Uint32Array" 7.38 % *** 1.083080e-12 assert\\deepequal-typedarrays.js len=1000000 method="nonstrict" n=1 type="Uint8Array" 7.85 % *** 5.187461e-18 assert\\deepequal-typedarrays.js len=1000000 method="nonstrict" n=1 type="Uint8ClampedArray" 8.13 % *** 7.616631e-16 assert\\deepequal-typedarrays.js len=1000000 method="strict" n=1 type="Float32Array" -11.03 % *** 6.610454e-66 assert\\deepequal-typedarrays.js len=1000000 method="strict" n=1 type="Float64Array" -11.06 % *** 2.551550e-46 assert\\deepequal-typedarrays.js len=1000000 method="strict" n=1 type="Int16Array" 0.60 % 5.300335e-01 assert\\deepequal-typedarrays.js len=1000000 method="strict" n=1 type="Int32Array" 0.09 % 8.860152e-01 assert\\deepequal-typedarrays.js len=1000000 method="strict" n=1 type="Int8Array" 5.09 % *** 2.161384e-04 assert\\deepequal-typedarrays.js len=1000000 method="strict" n=1 type="Uint16Array" 3.97 % ** 2.187538e-03 assert\\deepequal-typedarrays.js len=1000000 method="strict" n=1 type="Uint32Array" 0.90 % 4.287213e-01 assert\\deepequal-typedarrays.js len=1000000 method="strict" n=1 type="Uint8Array" 1.67 % 9.340617e-02 assert\\deepequal-typedarrays.js len=1000000 method="strict" n=1 type="Uint8ClampedArray" 3.99 % *** 9.655741e-04 ```
mscdex commented 7 years ago

Yikes... those performance hits... especially for Uint8Array.

hashseed commented 7 years ago

There is still improvements being made in the area of TypedArrays: https://bugs.chromium.org/p/v8/issues/detail?id=5977

Fishrock123 commented 7 years ago

Hmm yeah I think we should definitely keep an eye on that before merging. We use UInt8Array a lot.

hashseed commented 7 years ago

@bmeurer @psmarshall could we keep an eye on this?

bmeurer commented 7 years ago

Yes, this is mostly known. We know that there's some work to be done, not only for TypedArrays.

vsemozhetbyt commented 7 years ago

I had to abort buffer-swap.js benchmark after 2 runs because 1 run lasts ~ 2.5 hours, so default 60 runs would take 6 days. Maybe somebody with a free fast machine will be able to run a whole buffer-swap.js cycle later.

buffers: ``` improvement confidence p.value buffers\\buffer-base64-decode.js n=32 -0.03 % 6.813796e-01 buffers\\buffer-base64-encode.js n=32 len=67108864 0.10 % 7.395115e-02 buffers\\buffer-bytelength.js n=5000000 len=1 encoding="base64" 16.14 % *** 5.629742e-46 buffers\\buffer-bytelength.js n=5000000 len=1 encoding="utf8" -36.00 % *** 2.712131e-60 buffers\\buffer-bytelength.js n=5000000 len=16 encoding="base64" 17.67 % *** 8.234877e-53 buffers\\buffer-bytelength.js n=5000000 len=16 encoding="utf8" -9.00 % *** 6.554314e-47 buffers\\buffer-bytelength.js n=5000000 len=2 encoding="base64" 14.62 % *** 1.496880e-30 buffers\\buffer-bytelength.js n=5000000 len=2 encoding="utf8" -27.22 % *** 4.940651e-70 buffers\\buffer-bytelength.js n=5000000 len=256 encoding="base64" 15.63 % *** 5.408900e-35 buffers\\buffer-bytelength.js n=5000000 len=256 encoding="utf8" -1.68 % *** 1.306409e-05 buffers\\buffer-bytelength.js n=5000000 len=4 encoding="base64" 17.38 % *** 8.353420e-48 buffers\\buffer-bytelength.js n=5000000 len=4 encoding="utf8" -23.14 % *** 2.336540e-62 buffers\\buffer-bytelength.js n=5000000 len=64 encoding="base64" 17.70 % *** 9.030145e-49 buffers\\buffer-bytelength.js n=5000000 len=64 encoding="utf8" -3.25 % *** 2.280305e-12 buffers\\buffer-compare-instance-method.js millions=1 args=1 size=1024 -11.50 % *** 2.000140e-17 buffers\\buffer-compare-instance-method.js millions=1 args=1 size=16 -12.12 % *** 2.153111e-25 buffers\\buffer-compare-instance-method.js millions=1 args=1 size=16386 2.15 % 3.759710e-01 buffers\\buffer-compare-instance-method.js millions=1 args=1 size=4096 -11.47 % *** 1.230915e-05 buffers\\buffer-compare-instance-method.js millions=1 args=1 size=512 -10.09 % *** 3.727958e-19 buffers\\buffer-compare-instance-method.js millions=1 args=2 size=1024 -19.04 % *** 7.673003e-27 buffers\\buffer-compare-instance-method.js millions=1 args=2 size=16 -21.40 % *** 3.935922e-62 buffers\\buffer-compare-instance-method.js millions=1 args=2 size=16386 -2.74 % 1.174619e-01 buffers\\buffer-compare-instance-method.js millions=1 args=2 size=4096 -15.96 % *** 7.638449e-11 buffers\\buffer-compare-instance-method.js millions=1 args=2 size=512 -19.64 % *** 5.566149e-30 buffers\\buffer-compare-instance-method.js millions=1 args=3 size=1024 -16.32 % *** 9.753637e-24 buffers\\buffer-compare-instance-method.js millions=1 args=3 size=16 -19.00 % *** 2.905866e-60 buffers\\buffer-compare-instance-method.js millions=1 args=3 size=16386 -3.50 % *** 3.463127e-04 buffers\\buffer-compare-instance-method.js millions=1 args=3 size=4096 -15.93 % *** 6.136367e-12 buffers\\buffer-compare-instance-method.js millions=1 args=3 size=512 -17.67 % *** 2.211209e-33 buffers\\buffer-compare-instance-method.js millions=1 args=4 size=1024 -17.24 % *** 3.824330e-29 buffers\\buffer-compare-instance-method.js millions=1 args=4 size=16 -19.58 % *** 1.338838e-38 buffers\\buffer-compare-instance-method.js millions=1 args=4 size=16386 -3.50 % *** 2.668278e-06 buffers\\buffer-compare-instance-method.js millions=1 args=4 size=4096 -15.32 % *** 4.822259e-11 buffers\\buffer-compare-instance-method.js millions=1 args=4 size=512 -16.30 % *** 3.251165e-25 buffers\\buffer-compare-instance-method.js millions=1 args=5 size=1024 -0.20 % 8.718793e-01 buffers\\buffer-compare-instance-method.js millions=1 args=5 size=16 -0.35 % 3.508750e-01 buffers\\buffer-compare-instance-method.js millions=1 args=5 size=16386 3.04 % ** 1.167276e-03 buffers\\buffer-compare-instance-method.js millions=1 args=5 size=4096 -4.48 % * 3.204543e-02 buffers\\buffer-compare-instance-method.js millions=1 args=5 size=512 1.06 % 8.748816e-02 buffers\\buffer-compare-offset.js millions=1 size=1024 method="offset" -3.03 % *** 1.757880e-11 buffers\\buffer-compare-offset.js millions=1 size=1024 method="slice" 7.19 % *** 9.960328e-16 buffers\\buffer-compare-offset.js millions=1 size=16 method="offset" -3.49 % *** 1.237199e-11 buffers\\buffer-compare-offset.js millions=1 size=16 method="slice" 7.24 % *** 1.006812e-19 buffers\\buffer-compare-offset.js millions=1 size=16386 method="offset" -3.00 % *** 5.300663e-09 buffers\\buffer-compare-offset.js millions=1 size=16386 method="slice" 7.22 % *** 6.424469e-16 buffers\\buffer-compare-offset.js millions=1 size=4096 method="offset" -3.75 % *** 2.294207e-14 buffers\\buffer-compare-offset.js millions=1 size=4096 method="slice" 7.18 % *** 3.934175e-20 buffers\\buffer-compare-offset.js millions=1 size=512 method="offset" -3.34 % *** 2.742405e-11 buffers\\buffer-compare-offset.js millions=1 size=512 method="slice" 7.59 % *** 8.893416e-20 buffers\\buffer-compare.js millions=1 size=1024 -21.69 % *** 2.710130e-27 buffers\\buffer-compare.js millions=1 size=16 -27.15 % *** 4.754943e-54 buffers\\buffer-compare.js millions=1 size=16386 -5.12 % ** 1.333052e-03 buffers\\buffer-compare.js millions=1 size=4096 -16.47 % *** 2.029561e-11 buffers\\buffer-compare.js millions=1 size=512 -23.08 % *** 9.287436e-34 buffers\\buffer-concat.js n=1024 withTotalLength=0 pieceSize=1 pieces=1 -4.73 % *** 7.982186e-07 buffers\\buffer-concat.js n=1024 withTotalLength=0 pieceSize=1 pieces=16 -26.40 % *** 4.427981e-42 buffers\\buffer-concat.js n=1024 withTotalLength=0 pieceSize=1 pieces=4 -19.26 % *** 1.195433e-37 buffers\\buffer-concat.js n=1024 withTotalLength=0 pieceSize=16 pieces=1 -9.86 % *** 9.593113e-24 buffers\\buffer-concat.js n=1024 withTotalLength=0 pieceSize=16 pieces=16 -24.97 % *** 3.166334e-28 buffers\\buffer-concat.js n=1024 withTotalLength=0 pieceSize=16 pieces=4 -21.01 % *** 2.224996e-52 buffers\\buffer-concat.js n=1024 withTotalLength=0 pieceSize=256 pieces=1 -6.38 % *** 4.025680e-17 buffers\\buffer-concat.js n=1024 withTotalLength=0 pieceSize=256 pieces=16 -12.39 % *** 1.076091e-51 buffers\\buffer-concat.js n=1024 withTotalLength=0 pieceSize=256 pieces=4 -13.81 % *** 2.545945e-52 buffers\\buffer-concat.js n=1024 withTotalLength=1 pieceSize=1 pieces=1 -3.94 % *** 4.046170e-11 buffers\\buffer-concat.js n=1024 withTotalLength=1 pieceSize=1 pieces=16 -29.76 % *** 1.779827e-50 buffers\\buffer-concat.js n=1024 withTotalLength=1 pieceSize=1 pieces=4 -19.35 % *** 1.488346e-44 buffers\\buffer-concat.js n=1024 withTotalLength=1 pieceSize=16 pieces=1 -12.40 % *** 2.748948e-26 buffers\\buffer-concat.js n=1024 withTotalLength=1 pieceSize=16 pieces=16 -30.48 % *** 5.782960e-53 buffers\\buffer-concat.js n=1024 withTotalLength=1 pieceSize=16 pieces=4 -22.38 % *** 2.518032e-47 buffers\\buffer-concat.js n=1024 withTotalLength=1 pieceSize=256 pieces=1 -7.67 % *** 1.012370e-17 buffers\\buffer-concat.js n=1024 withTotalLength=1 pieceSize=256 pieces=16 -13.33 % *** 6.172313e-47 buffers\\buffer-concat.js n=1024 withTotalLength=1 pieceSize=256 pieces=4 -12.97 % *** 1.221396e-50 buffers\\buffer-creation.js n=1024 len=10 type="buffer()" -5.87 % *** 9.479277e-09 buffers\\buffer-creation.js n=1024 len=10 type="fast-alloc-fill" 17.73 % *** 7.279321e-26 buffers\\buffer-creation.js n=1024 len=10 type="fast-alloc" -7.55 % *** 2.297406e-13 buffers\\buffer-creation.js n=1024 len=10 type="fast-allocUnsafe" -10.28 % *** 7.217664e-17 buffers\\buffer-creation.js n=1024 len=10 type="slow-allocUnsafe" 14.11 % *** 3.181184e-20 buffers\\buffer-creation.js n=1024 len=10 type="slow" 13.62 % *** 1.207137e-22 buffers\\buffer-creation.js n=1024 len=1024 type="buffer()" -3.41 % ** 1.440904e-03 buffers\\buffer-creation.js n=1024 len=1024 type="fast-alloc-fill" 9.64 % *** 1.272331e-12 buffers\\buffer-creation.js n=1024 len=1024 type="fast-alloc" 2.22 % * 3.739922e-02 buffers\\buffer-creation.js n=1024 len=1024 type="fast-allocUnsafe" -1.65 % 8.510120e-02 buffers\\buffer-creation.js n=1024 len=1024 type="slow-allocUnsafe" 10.84 % *** 2.302591e-14 buffers\\buffer-creation.js n=1024 len=1024 type="slow" 11.07 % *** 5.350467e-17 buffers\\buffer-creation.js n=1024 len=2048 type="buffer()" -1.89 % 7.896093e-02 buffers\\buffer-creation.js n=1024 len=2048 type="fast-alloc-fill" 5.82 % *** 1.278769e-06 buffers\\buffer-creation.js n=1024 len=2048 type="fast-alloc" 0.56 % 6.263182e-01 buffers\\buffer-creation.js n=1024 len=2048 type="fast-allocUnsafe" -0.13 % 8.992751e-01 buffers\\buffer-creation.js n=1024 len=2048 type="slow-allocUnsafe" 7.31 % *** 4.140525e-09 buffers\\buffer-creation.js n=1024 len=2048 type="slow" 7.26 % *** 1.368239e-08 buffers\\buffer-creation.js n=1024 len=4096 type="buffer()" 6.40 % *** 1.419849e-07 buffers\\buffer-creation.js n=1024 len=4096 type="fast-alloc-fill" 3.58 % ** 4.131086e-03 buffers\\buffer-creation.js n=1024 len=4096 type="fast-alloc" 0.23 % 8.587182e-01 buffers\\buffer-creation.js n=1024 len=4096 type="fast-allocUnsafe" 5.57 % *** 1.204951e-04 buffers\\buffer-creation.js n=1024 len=4096 type="slow-allocUnsafe" 4.85 % *** 3.717312e-05 buffers\\buffer-creation.js n=1024 len=4096 type="slow" 5.49 % *** 2.288046e-06 buffers\\buffer-creation.js n=1024 len=8192 type="buffer()" 7.39 % *** 1.701336e-07 buffers\\buffer-creation.js n=1024 len=8192 type="fast-alloc-fill" 4.18 % ** 2.611444e-03 buffers\\buffer-creation.js n=1024 len=8192 type="fast-alloc" 0.35 % 7.998885e-01 buffers\\buffer-creation.js n=1024 len=8192 type="fast-allocUnsafe" 7.71 % *** 2.536921e-08 buffers\\buffer-creation.js n=1024 len=8192 type="slow-allocUnsafe" 5.35 % *** 4.558921e-05 buffers\\buffer-creation.js n=1024 len=8192 type="slow" 4.37 % *** 6.654867e-04 buffers\\buffer-from.js n=1024 len=10 source="array" -0.31 % 5.470660e-01 buffers\\buffer-from.js n=1024 len=10 source="arraybuffer-middle" 30.70 % *** 6.190845e-54 buffers\\buffer-from.js n=1024 len=10 source="arraybuffer" -3.56 % *** 1.791732e-15 buffers\\buffer-from.js n=1024 len=10 source="buffer" -15.69 % *** 2.672736e-35 buffers\\buffer-from.js n=1024 len=10 source="object" 11.53 % *** 7.237769e-34 buffers\\buffer-from.js n=1024 len=10 source="string-base64" -9.66 % *** 1.494303e-18 buffers\\buffer-from.js n=1024 len=10 source="string" -23.06 % *** 9.883857e-39 buffers\\buffer-from.js n=1024 len=10 source="uint8array" -18.37 % *** 7.316612e-44 buffers\\buffer-from.js n=1024 len=2048 source="array" -10.80 % *** 1.411818e-67 buffers\\buffer-from.js n=1024 len=2048 source="arraybuffer-middle" 31.86 % *** 5.733511e-32 buffers\\buffer-from.js n=1024 len=2048 source="arraybuffer" -3.97 % *** 3.726409e-18 buffers\\buffer-from.js n=1024 len=2048 source="buffer" -3.65 % *** 4.177849e-30 buffers\\buffer-from.js n=1024 len=2048 source="object" 11.36 % *** 2.380623e-26 buffers\\buffer-from.js n=1024 len=2048 source="string-base64" -1.02 % *** 1.519490e-12 buffers\\buffer-from.js n=1024 len=2048 source="string" -3.18 % *** 1.079311e-24 buffers\\buffer-from.js n=1024 len=2048 source="uint8array" -3.01 % *** 1.284177e-16 buffers\\buffer-hex.js n=10000000 len=0 73.05 % *** 5.082105e-49 buffers\\buffer-hex.js n=10000000 len=1 -3.98 % *** 2.925840e-05 buffers\\buffer-hex.js n=10000000 len=1024 0.60 % *** 5.419991e-04 buffers\\buffer-hex.js n=10000000 len=64 2.13 % *** 8.823847e-05 buffers\\buffer-indexof.js iter=1 type="buffer" encoding="binary" search="--l" -0.35 % 7.264494e-01 buffers\\buffer-indexof.js iter=1 type="buffer" encoding="binary" search="@" -2.20 % 8.007837e-02 buffers\\buffer-indexof.js iter=1 type="buffer" encoding="binary" search=" to the Caterpillar" -0.98 % 3.668637e-01 buffers\\buffer-indexof.js iter=1 type="buffer" encoding="binary" search="10x" -4.28 % *** 7.829767e-05 buffers\\buffer-indexof.js iter=1 type="buffer" encoding="binary" search="aaaaaaaaaaaaaaaaa" -0.42 % 6.726551e-01 buffers\\buffer-indexof.js iter=1 type="buffer" encoding="binary" search="Alice" -17.45 % *** 9.162873e-22 buffers\\buffer-indexof.js iter=1 type="buffer" encoding="binary" search="among mad people" -0.63 % 4.632337e-01 buffers\\buffer-indexof.js iter=1 type="buffer" encoding="binary" search="found it very" -0.57 % 5.543621e-01 buffers\\buffer-indexof.js iter=1 type="buffer" encoding="binary" search="Gryphon" -0.71 % 4.706095e-01 buffers\\buffer-indexof.js iter=1 type="buffer" encoding="binary" search="neighbouring pool" -1.05 % 2.966895e-01 buffers\\buffer-indexof.js iter=1 type="buffer" encoding="binary" search="Ou est ma chatte?" -0.84 % 3.687903e-01 buffers\\buffer-indexof.js iter=1 type="buffer" encoding="binary" search="Panther" -1.12 % 2.863537e-01 buffers\\buffer-indexof.js iter=1 type="buffer" encoding="binary" search="Soo--oop" -0.49 % 6.841558e-01 buffers\\buffer-indexof.js iter=1 type="buffer" encoding="binary" search="SQ" -0.03 % 9.784193e-01 buffers\\buffer-indexof.js iter=1 type="buffer" encoding="binary" search="venture to go near the house till she had brought herself down to" -0.72 % 4.944216e-01 buffers\\buffer-indexof.js iter=1 type="buffer" encoding="ucs2" search="--l" -0.07 % 9.409791e-01 buffers\\buffer-indexof.js iter=1 type="buffer" encoding="ucs2" search="@" -0.69 % 5.444296e-01 buffers\\buffer-indexof.js iter=1 type="buffer" encoding="ucs2" search=" to the Caterpillar" -0.71 % 4.911884e-01 buffers\\buffer-indexof.js iter=1 type="buffer" encoding="ucs2" search="10x" -1.87 % 9.761129e-02 buffers\\buffer-indexof.js iter=1 type="buffer" encoding="ucs2" search="aaaaaaaaaaaaaaaaa" -0.74 % 4.598899e-01 buffers\\buffer-indexof.js iter=1 type="buffer" encoding="ucs2" search="Alice" -13.47 % *** 3.310372e-09 buffers\\buffer-indexof.js iter=1 type="buffer" encoding="ucs2" search="among mad people" -1.03 % 2.974805e-01 buffers\\buffer-indexof.js iter=1 type="buffer" encoding="ucs2" search="found it very" -0.65 % 4.837249e-01 buffers\\buffer-indexof.js iter=1 type="buffer" encoding="ucs2" search="Gryphon" -0.79 % 4.449877e-01 buffers\\buffer-indexof.js iter=1 type="buffer" encoding="ucs2" search="neighbouring pool" -0.32 % 7.452157e-01 buffers\\buffer-indexof.js iter=1 type="buffer" encoding="ucs2" search="Ou est ma chatte?" -0.99 % 2.792177e-01 buffers\\buffer-indexof.js iter=1 type="buffer" encoding="ucs2" search="Panther" -1.09 % 2.706123e-01 buffers\\buffer-indexof.js iter=1 type="buffer" encoding="ucs2" search="Soo--oop" -0.65 % 5.341912e-01 buffers\\buffer-indexof.js iter=1 type="buffer" encoding="ucs2" search="SQ" 0.48 % 6.780610e-01 buffers\\buffer-indexof.js iter=1 type="buffer" encoding="ucs2" search="venture to go near the house till she had brought herself down to" -0.60 % 5.555316e-01 buffers\\buffer-indexof.js iter=1 type="buffer" encoding="undefined" search="--l" -0.20 % 8.426501e-01 buffers\\buffer-indexof.js iter=1 type="buffer" encoding="undefined" search="@" -2.61 % * 3.890256e-02 buffers\\buffer-indexof.js iter=1 type="buffer" encoding="undefined" search=" to the Caterpillar" -0.68 % 5.012658e-01 buffers\\buffer-indexof.js iter=1 type="buffer" encoding="undefined" search="10x" -3.63 % ** 6.658883e-03 buffers\\buffer-indexof.js iter=1 type="buffer" encoding="undefined" search="aaaaaaaaaaaaaaaaa" -0.74 % 4.829868e-01 buffers\\buffer-indexof.js iter=1 type="buffer" encoding="undefined" search="Alice" -22.10 % *** 1.089377e-24 buffers\\buffer-indexof.js iter=1 type="buffer" encoding="undefined" search="among mad people" -0.79 % 4.160996e-01 buffers\\buffer-indexof.js iter=1 type="buffer" encoding="undefined" search="found it very" -0.60 % 5.340795e-01 buffers\\buffer-indexof.js iter=1 type="buffer" encoding="undefined" search="Gryphon" -0.59 % 5.592168e-01 buffers\\buffer-indexof.js iter=1 type="buffer" encoding="undefined" search="neighbouring pool" -0.90 % 3.061416e-01 buffers\\buffer-indexof.js iter=1 type="buffer" encoding="undefined" search="Ou est ma chatte?" -1.39 % 1.531039e-01 buffers\\buffer-indexof.js iter=1 type="buffer" encoding="undefined" search="Panther" -0.95 % 2.903631e-01 buffers\\buffer-indexof.js iter=1 type="buffer" encoding="undefined" search="Soo--oop" -0.57 % 5.153379e-01 buffers\\buffer-indexof.js iter=1 type="buffer" encoding="undefined" search="SQ" 0.15 % 9.035586e-01 buffers\\buffer-indexof.js iter=1 type="buffer" encoding="undefined" search="venture to go near the house till she had brought herself down to" -1.08 % 3.027459e-01 buffers\\buffer-indexof.js iter=1 type="buffer" encoding="utf8" search="--l" -0.21 % 8.410248e-01 buffers\\buffer-indexof.js iter=1 type="buffer" encoding="utf8" search="@" -2.11 % 1.269637e-01 buffers\\buffer-indexof.js iter=1 type="buffer" encoding="utf8" search=" to the Caterpillar" -0.53 % 6.434224e-01 buffers\\buffer-indexof.js iter=1 type="buffer" encoding="utf8" search="10x" -4.32 % *** 1.255939e-04 buffers\\buffer-indexof.js iter=1 type="buffer" encoding="utf8" search="aaaaaaaaaaaaaaaaa" -0.80 % 4.638854e-01 buffers\\buffer-indexof.js iter=1 type="buffer" encoding="utf8" search="Alice" -18.01 % *** 2.045080e-19 buffers\\buffer-indexof.js iter=1 type="buffer" encoding="utf8" search="among mad people" -0.79 % 3.986172e-01 buffers\\buffer-indexof.js iter=1 type="buffer" encoding="utf8" search="found it very" -0.51 % 5.729769e-01 buffers\\buffer-indexof.js iter=1 type="buffer" encoding="utf8" search="Gryphon" -0.81 % 4.333457e-01 buffers\\buffer-indexof.js iter=1 type="buffer" encoding="utf8" search="neighbouring pool" -0.52 % 6.211223e-01 buffers\\buffer-indexof.js iter=1 type="buffer" encoding="utf8" search="Ou est ma chatte?" -0.47 % 6.280965e-01 buffers\\buffer-indexof.js iter=1 type="buffer" encoding="utf8" search="Panther" -1.07 % 2.578412e-01 buffers\\buffer-indexof.js iter=1 type="buffer" encoding="utf8" search="Soo--oop" -1.01 % 2.702615e-01 buffers\\buffer-indexof.js iter=1 type="buffer" encoding="utf8" search="SQ" 0.07 % 9.532958e-01 buffers\\buffer-indexof.js iter=1 type="buffer" encoding="utf8" search="venture to go near the house till she had brought herself down to" -0.88 % 3.541852e-01 buffers\\buffer-indexof.js iter=1 type="string" encoding="binary" search="--l" -0.45 % 6.463735e-01 buffers\\buffer-indexof.js iter=1 type="string" encoding="binary" search="@" -1.57 % 1.700239e-01 buffers\\buffer-indexof.js iter=1 type="string" encoding="binary" search=" to the Caterpillar" -1.20 % 2.721628e-01 buffers\\buffer-indexof.js iter=1 type="string" encoding="binary" search="10x" -2.84 % * 2.053370e-02 buffers\\buffer-indexof.js iter=1 type="string" encoding="binary" search="aaaaaaaaaaaaaaaaa" -0.86 % 4.135523e-01 buffers\\buffer-indexof.js iter=1 type="string" encoding="binary" search="Alice" -11.09 % *** 1.530140e-09 buffers\\buffer-indexof.js iter=1 type="string" encoding="binary" search="among mad people" -0.96 % 3.569128e-01 buffers\\buffer-indexof.js iter=1 type="string" encoding="binary" search="found it very" -0.84 % 3.904320e-01 buffers\\buffer-indexof.js iter=1 type="string" encoding="binary" search="Gryphon" -0.92 % 3.635840e-01 buffers\\buffer-indexof.js iter=1 type="string" encoding="binary" search="neighbouring pool" -0.88 % 3.300754e-01 buffers\\buffer-indexof.js iter=1 type="string" encoding="binary" search="Ou est ma chatte?" -0.78 % 4.058020e-01 buffers\\buffer-indexof.js iter=1 type="string" encoding="binary" search="Panther" -0.97 % 3.600589e-01 buffers\\buffer-indexof.js iter=1 type="string" encoding="binary" search="Soo--oop" -0.58 % 5.938500e-01 buffers\\buffer-indexof.js iter=1 type="string" encoding="binary" search="SQ" 0.34 % 8.043807e-01 buffers\\buffer-indexof.js iter=1 type="string" encoding="binary" search="venture to go near the house till she had brought herself down to" -0.46 % 6.630097e-01 buffers\\buffer-indexof.js iter=1 type="string" encoding="ucs2" search="--l" -0.04 % 9.704136e-01 buffers\\buffer-indexof.js iter=1 type="string" encoding="ucs2" search="@" 2.29 % 7.465145e-02 buffers\\buffer-indexof.js iter=1 type="string" encoding="ucs2" search=" to the Caterpillar" -0.37 % 7.305530e-01 buffers\\buffer-indexof.js iter=1 type="string" encoding="ucs2" search="10x" 2.51 % * 4.197132e-02 buffers\\buffer-indexof.js iter=1 type="string" encoding="ucs2" search="aaaaaaaaaaaaaaaaa" -0.20 % 8.397360e-01 buffers\\buffer-indexof.js iter=1 type="string" encoding="ucs2" search="Alice" -4.74 % *** 9.216821e-04 buffers\\buffer-indexof.js iter=1 type="string" encoding="ucs2" search="among mad people" -0.27 % 7.644037e-01 buffers\\buffer-indexof.js iter=1 type="string" encoding="ucs2" search="found it very" -0.52 % 6.189075e-01 buffers\\buffer-indexof.js iter=1 type="string" encoding="ucs2" search="Gryphon" -0.33 % 7.407495e-01 buffers\\buffer-indexof.js iter=1 type="string" encoding="ucs2" search="neighbouring pool" -0.11 % 9.145351e-01 buffers\\buffer-indexof.js iter=1 type="string" encoding="ucs2" search="Ou est ma chatte?" 0.89 % 3.138983e-01 buffers\\buffer-indexof.js iter=1 type="string" encoding="ucs2" search="Panther" -0.85 % 3.848009e-01 buffers\\buffer-indexof.js iter=1 type="string" encoding="ucs2" search="Soo--oop" -0.42 % 7.097964e-01 buffers\\buffer-indexof.js iter=1 type="string" encoding="ucs2" search="SQ" 0.86 % 4.627404e-01 buffers\\buffer-indexof.js iter=1 type="string" encoding="ucs2" search="venture to go near the house till she had brought herself down to" 0.31 % 7.633400e-01 buffers\\buffer-indexof.js iter=1 type="string" encoding="undefined" search="--l" -0.15 % 8.893093e-01 buffers\\buffer-indexof.js iter=1 type="string" encoding="undefined" search="@" -2.89 % ** 2.437993e-03 buffers\\buffer-indexof.js iter=1 type="string" encoding="undefined" search=" to the Caterpillar" -0.90 % 3.905602e-01 buffers\\buffer-indexof.js iter=1 type="string" encoding="undefined" search="10x" -4.82 % *** 1.543522e-06 buffers\\buffer-indexof.js iter=1 type="string" encoding="undefined" search="aaaaaaaaaaaaaaaaa" -0.80 % 4.418717e-01 buffers\\buffer-indexof.js iter=1 type="string" encoding="undefined" search="Alice" -17.79 % *** 6.256761e-20 buffers\\buffer-indexof.js iter=1 type="string" encoding="undefined" search="among mad people" -1.25 % 2.014205e-01 buffers\\buffer-indexof.js iter=1 type="string" encoding="undefined" search="found it very" -0.80 % 3.713493e-01 buffers\\buffer-indexof.js iter=1 type="string" encoding="undefined" search="Gryphon" -0.34 % 7.258243e-01 buffers\\buffer-indexof.js iter=1 type="string" encoding="undefined" search="neighbouring pool" -0.84 % 3.322506e-01 buffers\\buffer-indexof.js iter=1 type="string" encoding="undefined" search="Ou est ma chatte?" -0.87 % 2.784203e-01 buffers\\buffer-indexof.js iter=1 type="string" encoding="undefined" search="Panther" -0.55 % 6.258945e-01 buffers\\buffer-indexof.js iter=1 type="string" encoding="undefined" search="Soo--oop" -0.72 % 3.835439e-01 buffers\\buffer-indexof.js iter=1 type="string" encoding="undefined" search="SQ" -0.12 % 9.215902e-01 buffers\\buffer-indexof.js iter=1 type="string" encoding="undefined" search="venture to go near the house till she had brought herself down to" -1.07 % 3.141827e-01 buffers\\buffer-indexof.js iter=1 type="string" encoding="utf8" search="--l" 0.01 % 9.939332e-01 buffers\\buffer-indexof.js iter=1 type="string" encoding="utf8" search="@" 0.30 % 7.906463e-01 buffers\\buffer-indexof.js iter=1 type="string" encoding="utf8" search=" to the Caterpillar" -0.31 % 7.695421e-01 buffers\\buffer-indexof.js iter=1 type="string" encoding="utf8" search="10x" 0.16 % 9.135554e-01 buffers\\buffer-indexof.js iter=1 type="string" encoding="utf8" search="aaaaaaaaaaaaaaaaa" -0.64 % 5.492043e-01 buffers\\buffer-indexof.js iter=1 type="string" encoding="utf8" search="Alice" -2.21 % 1.540648e-01 buffers\\buffer-indexof.js iter=1 type="string" encoding="utf8" search="among mad people" -0.83 % 4.043682e-01 buffers\\buffer-indexof.js iter=1 type="string" encoding="utf8" search="found it very" -0.40 % 6.604813e-01 buffers\\buffer-indexof.js iter=1 type="string" encoding="utf8" search="Gryphon" -0.70 % 4.947166e-01 buffers\\buffer-indexof.js iter=1 type="string" encoding="utf8" search="neighbouring pool" -0.42 % 6.442356e-01 buffers\\buffer-indexof.js iter=1 type="string" encoding="utf8" search="Ou est ma chatte?" 0.18 % 8.669848e-01 buffers\\buffer-indexof.js iter=1 type="string" encoding="utf8" search="Panther" -0.91 % 3.515080e-01 buffers\\buffer-indexof.js iter=1 type="string" encoding="utf8" search="Soo--oop" -0.87 % 3.377439e-01 buffers\\buffer-indexof.js iter=1 type="string" encoding="utf8" search="SQ" 0.40 % 7.395111e-01 buffers\\buffer-indexof.js iter=1 type="string" encoding="utf8" search="venture to go near the house till she had brought herself down to" -0.08 % 9.333668e-01 buffers\\buffer-iterate.js n=1000 method="for" type="fast" size=1024 -38.66 % *** 4.488089e-44 buffers\\buffer-iterate.js n=1000 method="for" type="fast" size=16 -40.32 % *** 4.545685e-56 buffers\\buffer-iterate.js n=1000 method="for" type="fast" size=16386 -8.85 % *** 9.406173e-57 buffers\\buffer-iterate.js n=1000 method="for" type="fast" size=4096 -11.31 % *** 5.776087e-48 buffers\\buffer-iterate.js n=1000 method="for" type="fast" size=512 -46.63 % *** 5.050247e-35 buffers\\buffer-iterate.js n=1000 method="for" type="slow" size=1024 -38.26 % *** 1.155162e-38 buffers\\buffer-iterate.js n=1000 method="for" type="slow" size=16 -39.08 % *** 6.417078e-35 buffers\\buffer-iterate.js n=1000 method="for" type="slow" size=16386 -8.78 % *** 3.255136e-60 buffers\\buffer-iterate.js n=1000 method="for" type="slow" size=4096 -11.64 % *** 5.457078e-45 buffers\\buffer-iterate.js n=1000 method="for" type="slow" size=512 -47.29 % *** 2.690997e-46 buffers\\buffer-iterate.js n=1000 method="forOf" type="fast" size=1024 110.71 % *** 1.601002e-69 buffers\\buffer-iterate.js n=1000 method="forOf" type="fast" size=16 -3.08 % 3.674673e-01 buffers\\buffer-iterate.js n=1000 method="forOf" type="fast" size=16386 244.56 % *** 1.304915e-65 buffers\\buffer-iterate.js n=1000 method="forOf" type="fast" size=4096 173.75 % *** 2.706117e-61 buffers\\buffer-iterate.js n=1000 method="forOf" type="fast" size=512 65.27 % *** 8.025107e-71 buffers\\buffer-iterate.js n=1000 method="forOf" type="slow" size=1024 111.63 % *** 9.453410e-75 buffers\\buffer-iterate.js n=1000 method="forOf" type="slow" size=16 -4.00 % *** 1.470991e-08 buffers\\buffer-iterate.js n=1000 method="forOf" type="slow" size=16386 245.29 % *** 1.543723e-64 buffers\\buffer-iterate.js n=1000 method="forOf" type="slow" size=4096 177.26 % *** 3.199303e-89 buffers\\buffer-iterate.js n=1000 method="forOf" type="slow" size=512 64.54 % *** 4.567671e-53 buffers\\buffer-iterate.js n=1000 method="iterator" type="fast" size=1024 11.57 % *** 1.967961e-48 buffers\\buffer-iterate.js n=1000 method="iterator" type="fast" size=16 -49.67 % *** 2.815984e-51 buffers\\buffer-iterate.js n=1000 method="iterator" type="fast" size=16386 40.40 % *** 4.147217e-81 buffers\\buffer-iterate.js n=1000 method="iterator" type="fast" size=4096 30.28 % *** 6.559132e-69 buffers\\buffer-iterate.js n=1000 method="iterator" type="fast" size=512 -1.50 % *** 7.022152e-06 buffers\\buffer-iterate.js n=1000 method="iterator" type="slow" size=1024 12.50 % *** 3.389321e-48 buffers\\buffer-iterate.js n=1000 method="iterator" type="slow" size=16 -51.62 % *** 5.198335e-46 buffers\\buffer-iterate.js n=1000 method="iterator" type="slow" size=16386 40.45 % *** 8.650464e-81 buffers\\buffer-iterate.js n=1000 method="iterator" type="slow" size=4096 30.24 % *** 1.296496e-68 buffers\\buffer-iterate.js n=1000 method="iterator" type="slow" size=512 -0.92 % ** 1.131316e-03 buffers\\buffer-read.js millions=1 type="DoubleBE" buffer="fast" noAssert="false" -39.77 % *** 4.494981e-82 buffers\\buffer-read.js millions=1 type="DoubleBE" buffer="fast" noAssert="true" -40.36 % *** 9.270805e-83 buffers\\buffer-read.js millions=1 type="DoubleBE" buffer="slow" noAssert="false" -39.87 % *** 2.469591e-88 buffers\\buffer-read.js millions=1 type="DoubleBE" buffer="slow" noAssert="true" -39.95 % *** 1.905480e-78 buffers\\buffer-read.js millions=1 type="DoubleLE" buffer="fast" noAssert="false" -42.71 % *** 1.537101e-53 buffers\\buffer-read.js millions=1 type="DoubleLE" buffer="fast" noAssert="true" -41.59 % *** 5.188194e-50 buffers\\buffer-read.js millions=1 type="DoubleLE" buffer="slow" noAssert="false" -42.92 % *** 6.271103e-46 buffers\\buffer-read.js millions=1 type="DoubleLE" buffer="slow" noAssert="true" -40.60 % *** 6.360271e-46 buffers\\buffer-read.js millions=1 type="FloatBE" buffer="fast" noAssert="false" -36.68 % *** 9.102909e-73 buffers\\buffer-read.js millions=1 type="FloatBE" buffer="fast" noAssert="true" -37.52 % *** 4.027095e-77 buffers\\buffer-read.js millions=1 type="FloatBE" buffer="slow" noAssert="false" -36.55 % *** 1.428981e-66 buffers\\buffer-read.js millions=1 type="FloatBE" buffer="slow" noAssert="true" -37.41 % *** 2.018451e-76 buffers\\buffer-read.js millions=1 type="FloatLE" buffer="fast" noAssert="false" -38.29 % *** 4.356237e-53 buffers\\buffer-read.js millions=1 type="FloatLE" buffer="fast" noAssert="true" -40.63 % *** 5.012620e-81 buffers\\buffer-read.js millions=1 type="FloatLE" buffer="slow" noAssert="false" -38.80 % *** 3.198838e-55 buffers\\buffer-read.js millions=1 type="FloatLE" buffer="slow" noAssert="true" -40.26 % *** 7.326122e-70 buffers\\buffer-read.js millions=1 type="Int16BE" buffer="fast" noAssert="false" 19.06 % *** 1.403670e-30 buffers\\buffer-read.js millions=1 type="Int16BE" buffer="fast" noAssert="true" -27.04 % *** 2.933201e-43 buffers\\buffer-read.js millions=1 type="Int16BE" buffer="slow" noAssert="false" 18.64 % *** 1.137060e-36 buffers\\buffer-read.js millions=1 type="Int16BE" buffer="slow" noAssert="true" -27.24 % *** 1.160528e-32 buffers\\buffer-read.js millions=1 type="Int16LE" buffer="fast" noAssert="false" 19.66 % *** 1.784479e-29 buffers\\buffer-read.js millions=1 type="Int16LE" buffer="fast" noAssert="true" -27.80 % *** 1.643164e-42 buffers\\buffer-read.js millions=1 type="Int16LE" buffer="slow" noAssert="false" 18.40 % *** 7.945532e-36 buffers\\buffer-read.js millions=1 type="Int16LE" buffer="slow" noAssert="true" -26.02 % *** 4.235541e-26 buffers\\buffer-read.js millions=1 type="Int32BE" buffer="fast" noAssert="false" -1.19 % 3.034823e-01 buffers\\buffer-read.js millions=1 type="Int32BE" buffer="fast" noAssert="true" -47.40 % *** 1.243172e-43 buffers\\buffer-read.js millions=1 type="Int32BE" buffer="slow" noAssert="false" 0.81 % 2.872066e-01 buffers\\buffer-read.js millions=1 type="Int32BE" buffer="slow" noAssert="true" -47.13 % *** 9.286128e-28 buffers\\buffer-read.js millions=1 type="Int32LE" buffer="fast" noAssert="false" 2.62 % ** 6.505751e-03 buffers\\buffer-read.js millions=1 type="Int32LE" buffer="fast" noAssert="true" -42.77 % *** 9.960392e-42 buffers\\buffer-read.js millions=1 type="Int32LE" buffer="slow" noAssert="false" 2.59 % *** 3.431484e-05 buffers\\buffer-read.js millions=1 type="Int32LE" buffer="slow" noAssert="true" -42.23 % *** 2.721267e-36 buffers\\buffer-read.js millions=1 type="Int8" buffer="fast" noAssert="false" 14.11 % *** 1.021695e-36 buffers\\buffer-read.js millions=1 type="Int8" buffer="fast" noAssert="true" -26.83 % *** 1.598243e-41 buffers\\buffer-read.js millions=1 type="Int8" buffer="slow" noAssert="false" 13.58 % *** 4.622852e-34 buffers\\buffer-read.js millions=1 type="Int8" buffer="slow" noAssert="true" -26.74 % *** 3.749623e-44 buffers\\buffer-read.js millions=1 type="UInt16BE" buffer="fast" noAssert="false" 4.00 % *** 9.770175e-10 buffers\\buffer-read.js millions=1 type="UInt16BE" buffer="fast" noAssert="true" -43.99 % *** 2.389208e-53 buffers\\buffer-read.js millions=1 type="UInt16BE" buffer="slow" noAssert="false" 3.02 % *** 2.438014e-11 buffers\\buffer-read.js millions=1 type="UInt16BE" buffer="slow" noAssert="true" -43.48 % *** 1.778761e-52 buffers\\buffer-read.js millions=1 type="UInt16LE" buffer="fast" noAssert="false" 7.27 % *** 7.607707e-19 buffers\\buffer-read.js millions=1 type="UInt16LE" buffer="fast" noAssert="true" -37.75 % *** 1.282249e-42 buffers\\buffer-read.js millions=1 type="UInt16LE" buffer="slow" noAssert="false" 6.32 % *** 1.510428e-13 buffers\\buffer-read.js millions=1 type="UInt16LE" buffer="slow" noAssert="true" -39.37 % *** 1.188848e-49 buffers\\buffer-read.js millions=1 type="UInt32BE" buffer="fast" noAssert="false" -6.57 % *** 2.519559e-15 buffers\\buffer-read.js millions=1 type="UInt32BE" buffer="fast" noAssert="true" -50.93 % *** 1.031245e-44 buffers\\buffer-read.js millions=1 type="UInt32BE" buffer="slow" noAssert="false" -7.23 % *** 5.927445e-26 buffers\\buffer-read.js millions=1 type="UInt32BE" buffer="slow" noAssert="true" -51.02 % *** 4.138643e-51 buffers\\buffer-read.js millions=1 type="UInt32LE" buffer="fast" noAssert="false" -4.94 % *** 1.291956e-09 buffers\\buffer-read.js millions=1 type="UInt32LE" buffer="fast" noAssert="true" -49.31 % *** 2.610133e-49 buffers\\buffer-read.js millions=1 type="UInt32LE" buffer="slow" noAssert="false" -5.06 % *** 8.029210e-16 buffers\\buffer-read.js millions=1 type="UInt32LE" buffer="slow" noAssert="true" -48.99 % *** 3.672503e-40 buffers\\buffer-read.js millions=1 type="UInt8" buffer="fast" noAssert="false" -13.40 % *** 8.950667e-29 buffers\\buffer-read.js millions=1 type="UInt8" buffer="fast" noAssert="true" -54.61 % *** 4.233053e-39 buffers\\buffer-read.js millions=1 type="UInt8" buffer="slow" noAssert="false" -12.84 % *** 6.666907e-28 buffers\\buffer-read.js millions=1 type="UInt8" buffer="slow" noAssert="true" -54.34 % *** 2.847385e-36 buffers\\buffer-slice.js n=1024 type="fast" 18.66 % *** 4.017939e-23 buffers\\buffer-slice.js n=1024 type="slow" 18.22 % *** 5.380341e-28 buffers\\buffer-tojson.js len=0 n=10000 -29.94 % *** 2.279781e-35 buffers\\buffer-tojson.js len=10 n=10000 -50.51 % *** 4.138969e-30 buffers\\buffer-tojson.js len=256 n=10000 -6.61 % *** 1.909075e-12 buffers\\buffer-tojson.js len=4096 n=10000 0.61 % 3.305055e-01 buffers\\buffer-tostring.js n=10000000 len=0 arg="false" -45.06 % *** 1.052493e-64 buffers\\buffer-tostring.js n=10000000 len=0 arg="true" 141.33 % *** 2.570761e-49 buffers\\buffer-tostring.js n=10000000 len=1 arg="false" -29.80 % *** 1.295265e-36 buffers\\buffer-tostring.js n=10000000 len=1 arg="true" -23.91 % *** 5.613356e-50 buffers\\buffer-tostring.js n=10000000 len=1024 arg="false" -11.89 % *** 1.852139e-43 buffers\\buffer-tostring.js n=10000000 len=1024 arg="true" -7.67 % *** 1.280761e-22 buffers\\buffer-tostring.js n=10000000 len=64 arg="false" -32.36 % *** 3.080627e-63 buffers\\buffer-tostring.js n=10000000 len=64 arg="true" -23.21 % *** 1.418203e-37 buffers\\buffer-write.js millions=1 type="DoubleBE" buffer="fast" noAssert="false" -43.56 % *** 1.585645e-31 buffers\\buffer-write.js millions=1 type="DoubleBE" buffer="fast" noAssert="true" -44.91 % *** 3.569385e-44 buffers\\buffer-write.js millions=1 type="DoubleBE" buffer="slow" noAssert="false" -44.11 % *** 1.041960e-42 buffers\\buffer-write.js millions=1 type="DoubleBE" buffer="slow" noAssert="true" -43.94 % *** 1.257416e-34 buffers\\buffer-write.js millions=1 type="DoubleLE" buffer="fast" noAssert="false" -39.65 % *** 1.140142e-82 buffers\\buffer-write.js millions=1 type="DoubleLE" buffer="fast" noAssert="true" -42.72 % *** 1.151006e-80 buffers\\buffer-write.js millions=1 type="DoubleLE" buffer="slow" noAssert="false" -39.74 % *** 3.682974e-75 buffers\\buffer-write.js millions=1 type="DoubleLE" buffer="slow" noAssert="true" -42.39 % *** 1.113374e-74 buffers\\buffer-write.js millions=1 type="FloatBE" buffer="fast" noAssert="false" -41.31 % *** 8.648892e-40 buffers\\buffer-write.js millions=1 type="FloatBE" buffer="fast" noAssert="true" -41.94 % *** 1.885928e-37 buffers\\buffer-write.js millions=1 type="FloatBE" buffer="slow" noAssert="false" -40.38 % *** 6.572863e-39 buffers\\buffer-write.js millions=1 type="FloatBE" buffer="slow" noAssert="true" -44.10 % *** 7.293289e-41 buffers\\buffer-write.js millions=1 type="FloatLE" buffer="fast" noAssert="false" -40.11 % *** 1.285867e-38 buffers\\buffer-write.js millions=1 type="FloatLE" buffer="fast" noAssert="true" -41.97 % *** 3.338780e-27 buffers\\buffer-write.js millions=1 type="FloatLE" buffer="slow" noAssert="false" -40.85 % *** 1.234396e-37 buffers\\buffer-write.js millions=1 type="FloatLE" buffer="slow" noAssert="true" -42.77 % *** 8.299756e-37 buffers\\buffer-write.js millions=1 type="Int16BE" buffer="fast" noAssert="false" 12.51 % *** 1.082288e-32 buffers\\buffer-write.js millions=1 type="Int16BE" buffer="fast" noAssert="true" -38.73 % *** 3.306965e-39 buffers\\buffer-write.js millions=1 type="Int16BE" buffer="slow" noAssert="false" 12.64 % *** 5.858414e-26 buffers\\buffer-write.js millions=1 type="Int16BE" buffer="slow" noAssert="true" -38.80 % *** 2.644936e-46 buffers\\buffer-write.js millions=1 type="Int16LE" buffer="fast" noAssert="false" 13.20 % *** 3.046712e-36 buffers\\buffer-write.js millions=1 type="Int16LE" buffer="fast" noAssert="true" -42.88 % *** 2.418837e-43 buffers\\buffer-write.js millions=1 type="Int16LE" buffer="slow" noAssert="false" 13.35 % *** 5.381653e-33 buffers\\buffer-write.js millions=1 type="Int16LE" buffer="slow" noAssert="true" -43.64 % *** 2.124825e-56 buffers\\buffer-write.js millions=1 type="Int32BE" buffer="fast" noAssert="false" 0.68 % 1.443934e-01 buffers\\buffer-write.js millions=1 type="Int32BE" buffer="fast" noAssert="true" -39.90 % *** 7.142140e-40 buffers\\buffer-write.js millions=1 type="Int32BE" buffer="slow" noAssert="false" 1.64 % *** 2.493676e-06 buffers\\buffer-write.js millions=1 type="Int32BE" buffer="slow" noAssert="true" -40.22 % *** 5.057077e-47 buffers\\buffer-write.js millions=1 type="Int32LE" buffer="fast" noAssert="false" 2.51 % *** 4.209786e-08 buffers\\buffer-write.js millions=1 type="Int32LE" buffer="fast" noAssert="true" -44.77 % *** 7.731343e-32 buffers\\buffer-write.js millions=1 type="Int32LE" buffer="slow" noAssert="false" 1.90 % *** 6.013827e-09 buffers\\buffer-write.js millions=1 type="Int32LE" buffer="slow" noAssert="true" -44.69 % *** 1.473504e-38 buffers\\buffer-write.js millions=1 type="Int8" buffer="fast" noAssert="false" 8.96 % *** 1.390186e-25 buffers\\buffer-write.js millions=1 type="Int8" buffer="fast" noAssert="true" -43.46 % *** 6.151087e-60 buffers\\buffer-write.js millions=1 type="Int8" buffer="slow" noAssert="false" 8.77 % *** 3.912871e-31 buffers\\buffer-write.js millions=1 type="Int8" buffer="slow" noAssert="true" -42.49 % *** 4.625293e-20 buffers\\buffer-write.js millions=1 type="UInt16BE" buffer="fast" noAssert="false" 15.93 % *** 1.920343e-40 buffers\\buffer-write.js millions=1 type="UInt16BE" buffer="fast" noAssert="true" -37.95 % *** 2.985032e-28 buffers\\buffer-write.js millions=1 type="UInt16BE" buffer="slow" noAssert="false" 15.93 % *** 1.402500e-43 buffers\\buffer-write.js millions=1 type="UInt16BE" buffer="slow" noAssert="true" -38.79 % *** 1.025692e-57 buffers\\buffer-write.js millions=1 type="UInt16LE" buffer="fast" noAssert="false" 12.50 % *** 2.898478e-33 buffers\\buffer-write.js millions=1 type="UInt16LE" buffer="fast" noAssert="true" -43.70 % *** 2.854414e-55 buffers\\buffer-write.js millions=1 type="UInt16LE" buffer="slow" noAssert="false" 12.86 % *** 6.317302e-42 buffers\\buffer-write.js millions=1 type="UInt16LE" buffer="slow" noAssert="true" -43.15 % *** 4.572356e-42 buffers\\buffer-write.js millions=1 type="UInt32BE" buffer="fast" noAssert="false" 5.89 % *** 1.182524e-25 buffers\\buffer-write.js millions=1 type="UInt32BE" buffer="fast" noAssert="true" -40.05 % *** 1.608055e-52 buffers\\buffer-write.js millions=1 type="UInt32BE" buffer="slow" noAssert="false" 5.68 % *** 2.005348e-24 buffers\\buffer-write.js millions=1 type="UInt32BE" buffer="slow" noAssert="true" -40.09 % *** 2.130559e-44 buffers\\buffer-write.js millions=1 type="UInt32LE" buffer="fast" noAssert="false" 5.20 % *** 3.130693e-19 buffers\\buffer-write.js millions=1 type="UInt32LE" buffer="fast" noAssert="true" -40.95 % *** 4.726284e-60 buffers\\buffer-write.js millions=1 type="UInt32LE" buffer="slow" noAssert="false" 5.93 % *** 2.668763e-20 buffers\\buffer-write.js millions=1 type="UInt32LE" buffer="slow" noAssert="true" -40.30 % *** 1.091369e-32 buffers\\buffer-write.js millions=1 type="UInt8" buffer="fast" noAssert="false" 8.60 % *** 2.492144e-29 buffers\\buffer-write.js millions=1 type="UInt8" buffer="fast" noAssert="true" -41.73 % *** 1.405204e-31 buffers\\buffer-write.js millions=1 type="UInt8" buffer="slow" noAssert="false" 9.32 % *** 4.601417e-22 buffers\\buffer-write.js millions=1 type="UInt8" buffer="slow" noAssert="true" -42.55 % *** 2.019819e-31 buffers\\buffer_zero.js type="buffer" n=1024 2.44 % *** 3.511559e-04 buffers\\buffer_zero.js type="string" n=1024 8.90 % *** 1.325879e-13 buffers\\dataview-set.js millions=1 type="Float32BE" -4.65 % *** 1.682569e-11 buffers\\dataview-set.js millions=1 type="Float32LE" -6.15 % *** 1.081206e-21 buffers\\dataview-set.js millions=1 type="Float64BE" -6.72 % *** 5.129692e-21 buffers\\dataview-set.js millions=1 type="Float64LE" -7.83 % *** 4.473849e-17 buffers\\dataview-set.js millions=1 type="Int16BE" -4.64 % ** 1.451298e-03 buffers\\dataview-set.js millions=1 type="Int16LE" -3.09 % *** 4.174781e-04 buffers\\dataview-set.js millions=1 type="Int32BE" -3.69 % ** 1.222692e-03 buffers\\dataview-set.js millions=1 type="Int32LE" -5.41 % *** 6.345715e-07 buffers\\dataview-set.js millions=1 type="Int8" -6.33 % *** 1.863074e-07 buffers\\dataview-set.js millions=1 type="Uint16BE" -7.71 % *** 4.916663e-08 buffers\\dataview-set.js millions=1 type="Uint16LE" -9.33 % *** 2.014695e-15 buffers\\dataview-set.js millions=1 type="Uint32BE" 29.27 % *** 6.652924e-54 buffers\\dataview-set.js millions=1 type="Uint32LE" 33.39 % *** 8.781109e-55 buffers\\dataview-set.js millions=1 type="Uint8" -4.19 % *** 2.561106e-04 ```

A gist with the same data.

mscdex commented 7 years ago

@vsemozhetbyt You can reduce the iteration count n (and/or the number of runs if the results don't seem to vary too wildly) if a single run takes too long. I would make sure a single run executes for at least 5-10 seconds or so to give V8 plenty of time to properly optimize code and whatnot.

vsemozhetbyt commented 7 years ago

@mscdex If I get it right, the problem is that a nominal 'one run', as the progress bar and the compare.js have it, includes many real runs with different config variants, from 2 up to more than 100. These real runs can last a very different amount of time with the same n parameter, from a second up to several minutes. If we try to keep all these real runs near at least 5-10 seconds, the real runs with maximum time span get a huge time span.

For example, I've reduced n for buffer-swap.js from 5e7 to 1e6. The whole set of 60 nominal runs has lasted ~ 3 hours, with one nominal run ~ 3 min. This benchmark has 66 config variants, some of them have lasted near 1 second, some of them have lasted near 15-20 seconds. To balance these cases, the n should be changed separately and conditionally for each config variant. Unfortunately, this can be achieved either by editing the code or by many complicated CLI arguments sets and separate runs.

vsemozhetbyt commented 7 years ago
buffer-swap.js with --set n=1e6: ``` improvement confidence p.value buffers\\buffer-swap.js n=1000000 len=1024 method="swap16" aligned="false" 0.36 % *** 6.076393e-18 buffers\\buffer-swap.js n=1000000 len=1024 method="swap16" aligned="true" 1.10 % *** 1.359542e-22 buffers\\buffer-swap.js n=1000000 len=1024 method="swap32" aligned="false" 0.07 % 1.796922e-01 buffers\\buffer-swap.js n=1000000 len=1024 method="swap32" aligned="true" 0.22 % * 1.744881e-02 buffers\\buffer-swap.js n=1000000 len=1024 method="swap64" aligned="false" 0.24 % *** 1.566726e-07 buffers\\buffer-swap.js n=1000000 len=1024 method="swap64" aligned="true" -0.04 % 7.858086e-01 buffers\\buffer-swap.js n=1000000 len=128 method="swap16" aligned="false" 1.96 % *** 2.119761e-08 buffers\\buffer-swap.js n=1000000 len=128 method="swap16" aligned="true" 3.60 % *** 8.102858e-24 buffers\\buffer-swap.js n=1000000 len=128 method="swap32" aligned="false" -25.83 % *** 2.334289e-88 buffers\\buffer-swap.js n=1000000 len=128 method="swap32" aligned="true" -28.18 % *** 9.633524e-92 buffers\\buffer-swap.js n=1000000 len=128 method="swap64" aligned="false" -32.50 % *** 2.203248e-71 buffers\\buffer-swap.js n=1000000 len=128 method="swap64" aligned="true" -29.72 % *** 5.921971e-96 buffers\\buffer-swap.js n=1000000 len=1536 method="swap16" aligned="false" 0.21 % *** 2.326170e-04 buffers\\buffer-swap.js n=1000000 len=1536 method="swap16" aligned="true" 0.92 % *** 2.883013e-20 buffers\\buffer-swap.js n=1000000 len=1536 method="swap32" aligned="false" 0.10 % *** 8.005634e-06 buffers\\buffer-swap.js n=1000000 len=1536 method="swap32" aligned="true" 0.14 % 7.896609e-02 buffers\\buffer-swap.js n=1000000 len=1536 method="swap64" aligned="false" 0.09 % 9.037307e-02 buffers\\buffer-swap.js n=1000000 len=1536 method="swap64" aligned="true" 0.21 % 3.514098e-01 buffers\\buffer-swap.js n=1000000 len=2056 method="swap16" aligned="false" 0.17 % *** 3.248787e-04 buffers\\buffer-swap.js n=1000000 len=2056 method="swap16" aligned="true" 0.55 % *** 1.625691e-10 buffers\\buffer-swap.js n=1000000 len=2056 method="swap32" aligned="false" 0.02 % 1.648908e-01 buffers\\buffer-swap.js n=1000000 len=2056 method="swap32" aligned="true" 0.13 % * 3.592004e-02 buffers\\buffer-swap.js n=1000000 len=2056 method="swap64" aligned="false" -0.08 % 1.680445e-01 buffers\\buffer-swap.js n=1000000 len=2056 method="swap64" aligned="true" 0.13 % 8.412957e-02 buffers\\buffer-swap.js n=1000000 len=256 method="swap16" aligned="false" 1.14 % *** 2.298617e-15 buffers\\buffer-swap.js n=1000000 len=256 method="swap16" aligned="true" 2.35 % *** 8.848386e-23 buffers\\buffer-swap.js n=1000000 len=256 method="swap32" aligned="false" 0.51 % * 2.855728e-02 buffers\\buffer-swap.js n=1000000 len=256 method="swap32" aligned="true" 0.31 % * 4.837458e-02 buffers\\buffer-swap.js n=1000000 len=256 method="swap64" aligned="false" 0.70 % *** 1.187119e-10 buffers\\buffer-swap.js n=1000000 len=256 method="swap64" aligned="true" 0.03 % 8.377633e-01 buffers\\buffer-swap.js n=1000000 len=4096 method="swap16" aligned="false" 0.03 % 2.168347e-01 buffers\\buffer-swap.js n=1000000 len=4096 method="swap16" aligned="true" 0.27 % *** 5.990335e-08 buffers\\buffer-swap.js n=1000000 len=4096 method="swap32" aligned="false" 0.03 % 3.267018e-01 buffers\\buffer-swap.js n=1000000 len=4096 method="swap32" aligned="true" -0.05 % 7.015377e-01 buffers\\buffer-swap.js n=1000000 len=4096 method="swap64" aligned="false" -0.23 % 1.504769e-01 buffers\\buffer-swap.js n=1000000 len=4096 method="swap64" aligned="true" -0.18 % 7.870197e-02 buffers\\buffer-swap.js n=1000000 len=512 method="swap16" aligned="false" 0.57 % *** 4.245723e-15 buffers\\buffer-swap.js n=1000000 len=512 method="swap16" aligned="true" 1.80 % *** 3.992138e-20 buffers\\buffer-swap.js n=1000000 len=512 method="swap32" aligned="false" 0.35 % *** 6.259493e-09 buffers\\buffer-swap.js n=1000000 len=512 method="swap32" aligned="true" 0.42 % ** 1.212643e-03 buffers\\buffer-swap.js n=1000000 len=512 method="swap64" aligned="false" 0.52 % *** 2.336598e-16 buffers\\buffer-swap.js n=1000000 len=512 method="swap64" aligned="true" -0.04 % 7.897691e-01 buffers\\buffer-swap.js n=1000000 len=64 method="swap16" aligned="false" -11.63 % *** 1.715831e-70 buffers\\buffer-swap.js n=1000000 len=64 method="swap16" aligned="true" -11.28 % *** 2.934296e-46 buffers\\buffer-swap.js n=1000000 len=64 method="swap32" aligned="false" -22.73 % *** 6.453671e-79 buffers\\buffer-swap.js n=1000000 len=64 method="swap32" aligned="true" -23.37 % *** 3.179763e-71 buffers\\buffer-swap.js n=1000000 len=64 method="swap64" aligned="false" -26.91 % *** 1.133643e-31 buffers\\buffer-swap.js n=1000000 len=64 method="swap64" aligned="true" -24.71 % *** 1.203672e-29 buffers\\buffer-swap.js n=1000000 len=768 method="swap16" aligned="false" 0.38 % *** 5.071203e-12 buffers\\buffer-swap.js n=1000000 len=768 method="swap16" aligned="true" 1.18 % *** 2.312994e-23 buffers\\buffer-swap.js n=1000000 len=768 method="swap32" aligned="false" 0.17 % ** 2.755085e-03 buffers\\buffer-swap.js n=1000000 len=768 method="swap32" aligned="true" 0.13 % 3.430058e-01 buffers\\buffer-swap.js n=1000000 len=768 method="swap64" aligned="false" 0.44 % *** 4.743284e-04 buffers\\buffer-swap.js n=1000000 len=768 method="swap64" aligned="true" -0.03 % 8.388090e-01 buffers\\buffer-swap.js n=1000000 len=8 method="swap16" aligned="false" 6.06 % *** 2.951182e-30 buffers\\buffer-swap.js n=1000000 len=8 method="swap16" aligned="true" 5.74 % *** 3.316930e-21 buffers\\buffer-swap.js n=1000000 len=8 method="swap32" aligned="false" 3.50 % *** 1.244331e-22 buffers\\buffer-swap.js n=1000000 len=8 method="swap32" aligned="true" 1.72 % *** 1.879290e-11 buffers\\buffer-swap.js n=1000000 len=8 method="swap64" aligned="false" 0.68 % * 3.477764e-02 buffers\\buffer-swap.js n=1000000 len=8 method="swap64" aligned="true" 0.10 % 8.185927e-01 buffers\\buffer-swap.js n=1000000 len=8192 method="swap16" aligned="false" 0.02 % 1.425613e-01 buffers\\buffer-swap.js n=1000000 len=8192 method="swap16" aligned="true" 0.18 % *** 1.916646e-08 buffers\\buffer-swap.js n=1000000 len=8192 method="swap32" aligned="false" -0.02 % 2.420096e-01 buffers\\buffer-swap.js n=1000000 len=8192 method="swap32" aligned="true" 0.11 % * 2.388254e-02 buffers\\buffer-swap.js n=1000000 len=8192 method="swap64" aligned="false" -0.17 % ** 3.838764e-03 buffers\\buffer-swap.js n=1000000 len=8192 method="swap64" aligned="true" 0.02 % 6.347701e-01 ```
vsemozhetbyt commented 7 years ago
child_process: ``` improvement confidence p.value child_process\\child-process-exec-stdout.js dur=5 len=1024 -0.90 % 4.373815e-01 child_process\\child-process-exec-stdout.js dur=5 len=256 0.23 % 8.935467e-01 child_process\\child-process-exec-stdout.js dur=5 len=4096 0.62 % 6.591330e-01 child_process\\child-process-exec-stdout.js dur=5 len=64 -1.87 % 3.482599e-01 child_process\\child-process-params.js params=1 methodName="exec" n=1000 -4.63 % *** 5.123714e-11 child_process\\child-process-params.js params=1 methodName="execFile" n=1000 -3.92 % *** 2.644723e-12 child_process\\child-process-params.js params=1 methodName="execFileSync" n=1000 -0.28 % 7.107140e-01 child_process\\child-process-params.js params=1 methodName="execSync" n=1000 -0.21 % 4.051633e-01 child_process\\child-process-params.js params=1 methodName="spawn" n=1000 -4.01 % *** 1.536730e-14 child_process\\child-process-params.js params=1 methodName="spawnSync" n=1000 -0.22 % 7.796821e-01 child_process\\child-process-params.js params=2 methodName="exec" n=1000 -4.42 % *** 5.623094e-16 child_process\\child-process-params.js params=2 methodName="execFile" n=1000 -3.40 % *** 1.986012e-09 child_process\\child-process-params.js params=2 methodName="execFileSync" n=1000 0.07 % 9.104965e-01 child_process\\child-process-params.js params=2 methodName="execSync" n=1000 -0.09 % 4.823520e-01 child_process\\child-process-params.js params=2 methodName="spawn" n=1000 -3.98 % *** 7.050357e-13 child_process\\child-process-params.js params=2 methodName="spawnSync" n=1000 1.04 % 2.596032e-01 child_process\\child-process-params.js params=3 methodName="exec" n=1000 -5.15 % *** 4.912272e-15 child_process\\child-process-params.js params=3 methodName="execFile" n=1000 -4.78 % *** 2.814372e-17 child_process\\child-process-params.js params=3 methodName="execFileSync" n=1000 0.06 % 9.181210e-01 child_process\\child-process-params.js params=3 methodName="spawn" n=1000 -3.86 % *** 1.507486e-10 child_process\\child-process-params.js params=3 methodName="spawnSync" n=1000 1.02 % 2.644717e-01 child_process\\child-process-params.js params=4 methodName="execFile" n=1000 -3.90 % *** 7.927832e-17 child_process\\child-process-read-ipc.js dur=5 len=1024 -0.02 % 9.396622e-01 child_process\\child-process-read-ipc.js dur=5 len=1048576 1.03 % * 3.282735e-02 child_process\\child-process-read-ipc.js dur=5 len=16384 -0.27 % *** 5.423084e-04 child_process\\child-process-read-ipc.js dur=5 len=16777216 0.26 % 2.500390e-01 child_process\\child-process-read-ipc.js dur=5 len=256 -0.70 % *** 7.789173e-04 child_process\\child-process-read-ipc.js dur=5 len=4096 -0.21 % 9.370554e-02 child_process\\child-process-read-ipc.js dur=5 len=64 -0.68 % ** 2.257675e-03 child_process\\child-process-read-ipc.js dur=5 len=65536 0.91 % *** 3.971267e-04 child_process\\child-process-read.js dur=5 len=1024 0.83 % ** 1.021766e-03 child_process\\child-process-read.js dur=5 len=256 -1.70 % 4.431098e-01 child_process\\child-process-read.js dur=5 len=4096 -0.54 % 5.921539e-01 child_process\\child-process-read.js dur=5 len=64 0.84 % *** 6.748565e-05 child_process\\spawn-echo.js thousands=1 -0.68 % 3.306275e-01 ```
mscdex commented 7 years ago

@vsemozhetbyt Yep, benchmarking isn't always easy :-) Explicitly passing a lower --runs value may help as previously noted, especially for benchmarks that don't involve I/O and thus are usually less volatile.

targos commented 7 years ago

streams:

                                          improvement confidence      p.value
 streams/readable-bigread.js n=1000          -10.73 %        *** 1.269154e-12
 streams/readable-bigunevenread.js n=1000    -13.88 %        *** 1.834009e-19
 streams/readable-boundaryread.js n=2000     -13.83 %        *** 4.606770e-10
 streams/readable-readall.js n=5000           -9.64 %        *** 3.697793e-25
 streams/readable-unevenread.js n=1000        -8.92 %        *** 8.211917e-14
 streams/writable-manywrites.js n=2000000    -22.36 %        *** 9.987796e-27
targos commented 7 years ago

Example output with --trace-opt --trace-deopt on streams/readable-bigread.js

node-tf: ``` [marking 0x364ce29371d9 for optimized recompilation, reason: small function, ICs with typeinfo: 9/10 (90%), generic ICs: 0/10 (0%)] [compiling method 0x364ce29371d9 using TurboFan] [marking 0xec00c8a59b9 for optimized recompilation, reason: hot and stable, ICs with typeinfo: 21/52 (40%), generic ICs: 0/52 (0%)] [compiling method 0xec00c8a59b9 using TurboFan] [optimizing 0x364ce29371d9 - took 0.148, 0.397, 0.071 ms] [completed optimizing 0x364ce29371d9 ] [marking 0xec00c8a5a01 for optimized recompilation, reason: small function, ICs with typeinfo: 7/7 (100%), generic ICs: 0/7 (0%)] [compiling method 0xec00c8a5a01 using TurboFan] [optimizing 0xec00c8a5a01 - took 0.068, 0.349, 0.036 ms] [completed optimizing 0xec00c8a5a01 ] [optimizing 0xec00c8a59b9 - took 0.668, 3.108, 0.229 ms] [completed optimizing 0xec00c8a59b9 ] [marking 0xec00c8a5ec9 for optimized recompilation, reason: hot and stable, ICs with typeinfo: 30/38 (78%), generic ICs: 0/38 (0%)] [compiling method 0xec00c8a5ec9 using TurboFan] [marking 0x18b2b54db1b1 for optimized recompilation, reason: small function, ICs with typeinfo: 2/2 (100%), generic ICs: 0/2 (0%)] [compiling method 0x18b2b54db1b1 using TurboFan] [optimizing 0x18b2b54db1b1 - took 0.079, 0.145, 0.022 ms] [completed optimizing 0x18b2b54db1b1 ] [optimizing 0xec00c8a5ec9 - took 0.769, 2.125, 0.191 ms] [completed optimizing 0xec00c8a5ec9 ] [marking 0x364ce29373f1 for optimized recompilation, reason: hot and stable, ICs with typeinfo: 4/9 (44%), generic ICs: 0/9 (0%)] [compiling method 0x364ce29373f1 using TurboFan] [optimizing 0x364ce29373f1 - took 0.083, 0.296, 0.023 ms] [completed optimizing 0x364ce29373f1 ] [marking 0x19f9ce582699 for optimized recompilation, reason: hot and stable, ICs with typeinfo: 13/18 (72%), generic ICs: 0/18 (0%)] [deoptimizing (DEOPT eager): begin 0xec00c8a5ec9 (opt #3) @15, FP to SP delta: 88, caller sp: 0x7ffd8f45f608] ;;; deoptimize at inlined at inlined at <_stream_readable.js:943:22>, not a Smi reading input frame copyFromBuffer => bytecode_offset=25, args=3, height=12; inputs: 0: 0xec00c8a5ec9 ; [fp - 16] 0xec00c8a5ec9 1: 0x2a2af9902311 ; [fp + 32] 0x2a2af9902311 2: 0x8000000000 ; [fp + 24] 128 3: 0x19f9ce582369 ; [fp + 16] 0x19f9ce582369 4: 0x35ef1a1ec031 ; [fp - 8] 0x35ef1a1ec031 5: 0x2a2af9904a41 ; (literal 11) 0x2a2af9904a41 6: 0x2a2af9904a41 ; (literal 11) 0x2a2af9904a41 7: 0x2a2af9904a41 ; (literal 11) 0x2a2af9904a41 8: 0x2a2af9904a41 ; (literal 11) 0x2a2af9904a41 9: 0x2a2af9904a41 ; (literal 11) 0x2a2af9904a41 10: 0x2a2af9904a41 ; (literal 11) 0x2a2af9904a41 11: 0x2a2af9904a41 ; (literal 11) 0x2a2af9904a41 12: 0x2a2af9904a41 ; (literal 11) 0x2a2af9904a41 13: 0x2a2af9904a41 ; (literal 11) 0x2a2af9904a41 14: 0x2a2af9904a41 ; (literal 11) 0x2a2af9904a41 15: 0x2a2af9904a41 ; (literal 11) 0x2a2af9904a41 16: 0x18b2b54dad69 ; (literal 12) 0x18b2b54dad69 reading input frame Buffer.allocUnsafe => bytecode_offset=20, args=2, height=3; inputs: 0: 0x18b2b54dad69 ; (literal 12) 0x18b2b54dad69 1: 0x35ef1a1a71a9 ; (literal 13) 0x35ef1a1a71a9 2: 0x8000000000 ; [fp + 24] 128 3: 0x35ef1a1a66a9 ; (literal 14) 0x35ef1a1a66a9 4: 0x35ef1a1fd829 ; (literal 21) 0x35ef1a1fd829 5: 0x2a2af9902311 ; (literal 16) 0x2a2af9902311 6: 0x2a2af9904a41 ; (literal 11) 0x2a2af9904a41 translating interpreted frame copyFromBuffer => bytecode_offset=25, height=88 0x7ffd8f45f600: [top + 160] <- 0x2a2af9902311 ; 0x2a2af9902311 (input #1) 0x7ffd8f45f5f8: [top + 152] <- 0x8000000000 ; 128 (input #2) 0x7ffd8f45f5f0: [top + 144] <- 0x19f9ce582369 ; 0x19f9ce582369 (input #3) ------------------------- 0x7ffd8f45f5e8: [top + 136] <- 0x2851db679f0a ; caller's pc 0x7ffd8f45f5e0: [top + 128] <- 0x7ffd8f45f610 ; caller's fp 0x7ffd8f45f5d8: [top + 120] <- 0x35ef1a1ec031 ; context 0x35ef1a1ec031 (input #4) 0x7ffd8f45f5d0: [top + 112] <- 0xec00c8a5ec9 ; function 0xec00c8a5ec9 (input #0) 0x7ffd8f45f5c8: [top + 104] <- 0x2a2af9902311 ; new_target 0x2a2af9902311 (input #0) 0x7ffd8f45f5c0: [top + 96] <- 0xec00c8f5941 ; bytecode array 0xec00c8f5941 (input #0) 0x7ffd8f45f5b8: [top + 88] <- 0x4e00000000 ; bytecode offset 78 (input #0) ------------------------- 0x7ffd8f45f5b0: [top + 80] <- 0x2a2af9904a41 ; 0x2a2af9904a41 (input #5) 0x7ffd8f45f5a8: [top + 72] <- 0x2a2af9904a41 ; 0x2a2af9904a41 (input #6) 0x7ffd8f45f5a0: [top + 64] <- 0x2a2af9904a41 ; 0x2a2af9904a41 (input #7) 0x7ffd8f45f598: [top + 56] <- 0x2a2af9904a41 ; 0x2a2af9904a41 (input #8) 0x7ffd8f45f590: [top + 48] <- 0x2a2af9904a41 ; 0x2a2af9904a41 (input #9) 0x7ffd8f45f588: [top + 40] <- 0x2a2af9904a41 ; 0x2a2af9904a41 (input #10) 0x7ffd8f45f580: [top + 32] <- 0x2a2af9904a41 ; 0x2a2af9904a41 (input #11) 0x7ffd8f45f578: [top + 24] <- 0x2a2af9904a41 ; 0x2a2af9904a41 (input #12) 0x7ffd8f45f570: [top + 16] <- 0x2a2af9904a41 ; 0x2a2af9904a41 (input #13) 0x7ffd8f45f568: [top + 8] <- 0x2a2af9904a41 ; 0x2a2af9904a41 (input #14) 0x7ffd8f45f560: [top + 0] <- 0x2a2af9904a41 ; 0x2a2af9904a41 (input #15) translating interpreted frame Buffer.allocUnsafe => bytecode_offset=20, height=24 0x7ffd8f45f558: [top + 88] <- 0x35ef1a1a71a9 ; 0x35ef1a1a71a9 (input #1) 0x7ffd8f45f550: [top + 80] <- 0x8000000000 ; 128 (input #2) ------------------------- 0x7ffd8f45f548: [top + 72] <- 0x2851db648e00 ; caller's pc 0x7ffd8f45f540: [top + 64] <- 0x7ffd8f45f5e0 ; caller's fp 0x7ffd8f45f538: [top + 56] <- 0x35ef1a1a66a9 ; context 0x35ef1a1a66a9 (input #3) 0x7ffd8f45f530: [top + 48] <- 0x18b2b54dad69 ; function 0x18b2b54dad69 (input #0) 0x7ffd8f45f528: [top + 40] <- 0x2a2af9902311 ; new_target 0x2a2af9902311 (input #0) 0x7ffd8f45f520: [top + 32] <- 0x364ce2953ff9 ; bytecode array 0x364ce2953ff9 (input #0) 0x7ffd8f45f518: [top + 24] <- 0x4900000000 ; bytecode offset 73 (input #0) ------------------------- 0x7ffd8f45f510: [top + 16] <- 0x35ef1a1fd829 ; 0x35ef1a1fd829 (input #4) 0x7ffd8f45f508: [top + 8] <- 0x2a2af9902311 ; 0x2a2af9902311 (input #5) 0x7ffd8f45f500: [top + 0] <- 0x2a2af9904a41 ; accumulator 0x2a2af9904a41 (input #6) [deoptimizing (eager): end 0xec00c8a5ec9 @15 => node=20, pc=0x2851db648f00, caller sp=0x7ffd8f45f608, state=TOS_REGISTER, took 0.344 ms] [removing optimized code for: 0xec00c8a5ec9 ] [marking 0x364ce2937511 for optimized recompilation, reason: hot and stable, ICs with typeinfo: 36/67 (53%), generic ICs: 0/67 (0%)] [compiling method 0x364ce2937511 using TurboFan] [marking 0xec00c8a5ec9 for optimized recompilation, reason: hot and stable, ICs with typeinfo: 30/38 (78%), generic ICs: 0/38 (0%)] [compiling method 0xec00c8a5ec9 using TurboFan] [marking 0x35ef1a1fd829 for optimized recompilation, reason: hot and stable, ICs with typeinfo: 11/12 (91%), generic ICs: 0/12 (0%)] [compiling method 0x35ef1a1fd829 using TurboFan] [optimizing 0xec00c8a5ec9 - took 1.098, 1.969, 0.157 ms] [completed optimizing 0xec00c8a5ec9 ] [optimizing 0x35ef1a1fd829 - took 0.384, 0.834, 0.077 ms] [completed optimizing 0x35ef1a1fd829 ] [optimizing 0x364ce2937511 - took 0.909, 6.498, 0.251 ms] [completed optimizing 0x364ce2937511 ] [compiling method 0x19f9ce582699 using TurboFan OSR] [optimizing 0x19f9ce582699 - took 0.417, 1.382, 0.092 ms] [deoptimizing (DEOPT eager): begin 0x364ce2937511 (opt #6) @41, FP to SP delta: 128, caller sp: 0x7ffd8f45f7f0] ;;; deoptimize at <_stream_readable.js:374:9>, not a Smi reading input frame Readable.read => bytecode_offset=498, args=2, height=10; inputs: 0: 0x364ce2937511 ; [fp - 16] 0x364ce2937511 1: 0x19f9ce5824f1 ; [fp + 24] 0x19f9ce5824f1 2: 0x18fd595f3859 ; rbx 0x18fd595f3859 3: 0x35ef1a1ec031 ; [fp - 8] 0x35ef1a1ec031 4: 0x19f9ce5823d9 ; [fp - 32] 0x19f9ce5823d9 5: 0x8000000000 ; [fp - 24] 128 6: 0x2a2af9904a41 ; (literal 7) 0x2a2af9904a41 7: 0x2a2af9904a41 ; (literal 7) 0x2a2af9904a41 8: 0x2a2af9904a41 ; (literal 7) 0x2a2af9904a41 9: 0x2a2af9904a41 ; (literal 7) 0x2a2af9904a41 10: 0x2a2af9904a41 ; (literal 7) 0x2a2af9904a41 11: 0x2a2af9904a41 ; (literal 7) 0x2a2af9904a41 12: 0x2a2af9904a41 ; (literal 7) 0x2a2af9904a41 13: 0x00000000 ; (literal 13) 0 translating interpreted frame Readable.read => bytecode_offset=498, height=80 0x7ffd8f45f7e8: [top + 144] <- 0x19f9ce5824f1 ; 0x19f9ce5824f1 (input #1) 0x7ffd8f45f7e0: [top + 136] <- 0x18fd595f3859 ; 0x18fd595f3859 (input #2) ------------------------- 0x7ffd8f45f7d8: [top + 128] <- 0x2851db713094 ; caller's pc 0x7ffd8f45f7d0: [top + 120] <- 0x7ffd8f45f898 ; caller's fp 0x7ffd8f45f7c8: [top + 112] <- 0x35ef1a1ec031 ; context 0x35ef1a1ec031 (input #3) 0x7ffd8f45f7c0: [top + 104] <- 0x364ce2937511 ; function 0x364ce2937511 (input #0) 0x7ffd8f45f7b8: [top + 96] <- 0x2a2af9902311 ; new_target 0x2a2af9902311 (input #0) 0x7ffd8f45f7b0: [top + 88] <- 0xec00c8f43f9 ; bytecode array 0xec00c8f43f9 (input #0) 0x7ffd8f45f7a8: [top + 80] <- 0x22700000000 ; bytecode offset 551 (input #0) ------------------------- 0x7ffd8f45f7a0: [top + 72] <- 0x19f9ce5823d9 ; 0x19f9ce5823d9 (input #4) 0x7ffd8f45f798: [top + 64] <- 0x8000000000 ; 128 (input #5) 0x7ffd8f45f790: [top + 56] <- 0x2a2af9904a41 ; 0x2a2af9904a41 (input #6) 0x7ffd8f45f788: [top + 48] <- 0x2a2af9904a41 ; 0x2a2af9904a41 (input #7) 0x7ffd8f45f780: [top + 40] <- 0x2a2af9904a41 ; 0x2a2af9904a41 (input #8) 0x7ffd8f45f778: [top + 32] <- 0x2a2af9904a41 ; 0x2a2af9904a41 (input #9) 0x7ffd8f45f770: [top + 24] <- 0x2a2af9904a41 ; 0x2a2af9904a41 (input #10) 0x7ffd8f45f768: [top + 16] <- 0x2a2af9904a41 ; 0x2a2af9904a41 (input #11) 0x7ffd8f45f760: [top + 8] <- 0x2a2af9904a41 ; 0x2a2af9904a41 (input #12) 0x7ffd8f45f758: [top + 0] <- 0x00000000 ; accumulator 0 (input #13) [deoptimizing (eager): end 0x364ce2937511 @41 => node=498, pc=0x2851db648f00, caller sp=0x7ffd8f45f7f0, state=TOS_REGISTER, took 0.229 ms] [removing optimized code for: 0x364ce2937511 ] [deoptimizing (DEOPT eager): begin 0xec00c8a5ec9 (opt #7) @32, FP to SP delta: 88, caller sp: 0x7ffd8f45f5e8] ;;; deoptimize at <_stream_readable.js:947:14>, not a Smi reading input frame copyFromBuffer => bytecode_offset=62, args=3, height=12; inputs: 0: 0xec00c8a5ec9 ; [fp - 16] 0xec00c8a5ec9 1: 0x2a2af9902311 ; [fp + 32] 0x2a2af9902311 2: 0x18fd595f3859 ; [fp + 24] 0x18fd595f3859 3: 0x19f9ce582369 ; [fp + 16] 0x19f9ce582369 4: 0x35ef1a1ec031 ; [fp - 8] 0x35ef1a1ec031 5: 0x2a2af9904a41 ; (literal 11) 0x2a2af9904a41 6: 0x2a2af9904a41 ; (literal 11) 0x2a2af9904a41 7: 0x18fd595f3869 ; [fp - 24] 0x18fd595f3869 8: 0x18fd59591d91 ; rax 0x18fd59591d91 9: 0x100000000 ; (literal 29) 1 10: 0x2a2af9904a41 ; (literal 11) 0x2a2af9904a41 11: 0x2a2af9904a41 ; (literal 11) 0x2a2af9904a41 12: 0x2a2af9904a41 ; (literal 11) 0x2a2af9904a41 13: 0x2a2af9904a41 ; (literal 11) 0x2a2af9904a41 14: 0x2a2af9904a41 ; (literal 11) 0x2a2af9904a41 15: 0x2a2af9904a41 ; (literal 11) 0x2a2af9904a41 16: 0x2a2af9904a41 ; (literal 11) 0x2a2af9904a41 translating interpreted frame copyFromBuffer => bytecode_offset=62, height=96 0x7ffd8f45f5e0: [top + 168] <- 0x2a2af9902311 ; 0x2a2af9902311 (input #1) 0x7ffd8f45f5d8: [top + 160] <- 0x18fd595f3859 ; 0x18fd595f3859 (input #2) 0x7ffd8f45f5d0: [top + 152] <- 0x19f9ce582369 ; 0x19f9ce582369 (input #3) ------------------------- 0x7ffd8f45f5c8: [top + 144] <- 0x2851db679f0a ; caller's pc 0x7ffd8f45f5c0: [top + 136] <- 0x7ffd8f45f5f0 ; caller's fp 0x7ffd8f45f5b8: [top + 128] <- 0x35ef1a1ec031 ; context 0x35ef1a1ec031 (input #4) 0x7ffd8f45f5b0: [top + 120] <- 0xec00c8a5ec9 ; function 0xec00c8a5ec9 (input #0) 0x7ffd8f45f5a8: [top + 112] <- 0x2a2af9902311 ; new_target 0x2a2af9902311 (input #0) 0x7ffd8f45f5a0: [top + 104] <- 0xec00c8f5941 ; bytecode array 0xec00c8f5941 (input #0) 0x7ffd8f45f598: [top + 96] <- 0x7300000000 ; bytecode offset 115 (input #0) ------------------------- 0x7ffd8f45f590: [top + 88] <- 0x2a2af9904a41 ; 0x2a2af9904a41 (input #5) 0x7ffd8f45f588: [top + 80] <- 0x2a2af9904a41 ; 0x2a2af9904a41 (input #6) 0x7ffd8f45f580: [top + 72] <- 0x18fd595f3869 ; 0x18fd595f3869 (input #7) 0x7ffd8f45f578: [top + 64] <- 0x18fd59591d91 ; 0x18fd59591d91 (input #8) 0x7ffd8f45f570: [top + 56] <- 0x100000000 ; 1 (input #9) 0x7ffd8f45f568: [top + 48] <- 0x2a2af9904a41 ; 0x2a2af9904a41 (input #10) 0x7ffd8f45f560: [top + 40] <- 0x2a2af9904a41 ; 0x2a2af9904a41 (input #11) 0x7ffd8f45f558: [top + 32] <- 0x2a2af9904a41 ; 0x2a2af9904a41 (input #12) 0x7ffd8f45f550: [top + 24] <- 0x2a2af9904a41 ; 0x2a2af9904a41 (input #13) 0x7ffd8f45f548: [top + 16] <- 0x2a2af9904a41 ; 0x2a2af9904a41 (input #14) 0x7ffd8f45f540: [top + 8] <- 0x2a2af9904a41 ; 0x2a2af9904a41 (input #15) 0x7ffd8f45f538: [top + 0] <- 0x2a2af9904a41 ; accumulator 0x2a2af9904a41 (input #16) [deoptimizing (eager): end 0xec00c8a5ec9 @32 => node=62, pc=0x2851db648f00, caller sp=0x7ffd8f45f5e8, state=TOS_REGISTER, took 0.229 ms] [removing optimized code for: 0xec00c8a5ec9 ] [marking dependent code 0x2851db70f6a1 (opt #5) for deoptimization, reason: prototype-check] [marking dependent code 0x2851db711761 (opt #6) for deoptimization, reason: prototype-check] [marking dependent code 0x2851db712e61 (opt #9) for deoptimization, reason: prototype-check] [deoptimize marked code in all contexts] [deoptimizer unlinked: Readable.push / 364ce29373f1] [deoptimizing (DEOPT lazy): begin 0x19f9ce582699 (opt #9) @8, FP to SP delta: 168, caller sp: 0x7ffd8f45f8b8] reading input frame main => bytecode_offset=162, args=2, height=10; inputs: 0: 0x19f9ce582699 ; [fp - 16] 0x19f9ce582699 1: 0x2a2af9902311 ; [fp + 24] 0x2a2af9902311 2: 0x19f9ce582721 ; [fp + 16] 0x19f9ce582721 3: 0x19f9ce5826e1 ; [fp - 120] 0x19f9ce5826e1 4: 0x3e800000000 ; [fp - 48] 1000 5: 0x19f9ce582649 ; [fp - 56] 0x19f9ce582649 6: 0x19f9ce5824f1 ; [fp - 64] 0x19f9ce5824f1 7: 0x2a2af9904a41 ; (literal 3) 0x2a2af9904a41 8: 0x200000000 ; [fp - 80] 2 9: 0x2a2af9904a41 ; (literal 3) 0x2a2af9904a41 10: 0x2a2af9904a41 ; (literal 3) 0x2a2af9904a41 11: 0x2a2af9904a41 ; (literal 3) 0x2a2af9904a41 12: 0x2a2af9904a41 ; (literal 3) 0x2a2af9904a41 13: 0x18fd595f3869 ; rax 0x18fd595f3869 translating interpreted frame main => bytecode_offset=162, height=80 0x7ffd8f45f8b0: [top + 144] <- 0x2a2af9902311 ; 0x2a2af9902311 (input #1) 0x7ffd8f45f8a8: [top + 136] <- 0x19f9ce582721 ; 0x19f9ce582721 (input #2) ------------------------- 0x7ffd8f45f8a0: [top + 128] <- 0x2851db679ddc ; caller's pc 0x7ffd8f45f898: [top + 120] <- 0x7ffd8f45f8c0 ; caller's fp 0x7ffd8f45f890: [top + 112] <- 0x19f9ce5826e1 ; context 0x19f9ce5826e1 (input #3) 0x7ffd8f45f888: [top + 104] <- 0x19f9ce582699 ; function 0x19f9ce582699 (input #0) 0x7ffd8f45f880: [top + 96] <- 0x2a2af9902311 ; new_target 0x2a2af9902311 (input #0) 0x7ffd8f45f878: [top + 88] <- 0xec00c8f05b1 ; bytecode array 0xec00c8f05b1 (input #0) 0x7ffd8f45f870: [top + 80] <- 0xd700000000 ; bytecode offset 215 (input #0) ------------------------- 0x7ffd8f45f868: [top + 72] <- 0x3e800000000 ; 1000 (input #4) 0x7ffd8f45f860: [top + 64] <- 0x19f9ce582649 ; 0x19f9ce582649 (input #5) 0x7ffd8f45f858: [top + 56] <- 0x19f9ce5824f1 ; 0x19f9ce5824f1 (input #6) 0x7ffd8f45f850: [top + 48] <- 0x2a2af9904a41 ; 0x2a2af9904a41 (input #7) 0x7ffd8f45f848: [top + 40] <- 0x200000000 ; 2 (input #8) 0x7ffd8f45f840: [top + 32] <- 0x2a2af9904a41 ; 0x2a2af9904a41 (input #9) 0x7ffd8f45f838: [top + 24] <- 0x2a2af9904a41 ; 0x2a2af9904a41 (input #10) 0x7ffd8f45f830: [top + 16] <- 0x2a2af9904a41 ; 0x2a2af9904a41 (input #11) 0x7ffd8f45f828: [top + 8] <- 0x2a2af9904a41 ; 0x2a2af9904a41 (input #12) 0x7ffd8f45f820: [top + 0] <- 0x18fd595f3869 ; accumulator 0x18fd595f3869 (input #13) [deoptimizing (lazy): end 0x19f9ce582699 @8 => node=162, pc=0x2851db648e00, caller sp=0x7ffd8f45f8b8, state=TOS_REGISTER, took 0.177 ms] [marking 0xec00c8a5ec9 for optimized recompilation, reason: hot and stable, ICs with typeinfo: 30/38 (78%), generic ICs: 0/38 (0%)] [compiling method 0xec00c8a5ec9 using TurboFan] [optimizing 0xec00c8a5ec9 - took 0.761, 2.006, 0.167 ms] [completed optimizing 0xec00c8a5ec9 ] [marking 0x364ce2937511 for optimized recompilation, reason: hot and stable, ICs with typeinfo: 46/67 (68%), generic ICs: 0/67 (0%)] [compiling method 0x364ce2937511 using TurboFan] [deoptimizing (DEOPT eager): begin 0xec00c8a59b9 (opt #1) @4, FP to SP delta: 80, caller sp: 0x7ffd8f45f6f8] ;;; deoptimize at <_stream_readable.js:171:19>, wrong map reading input frame readableAddChunk => bytecode_offset=62, args=6, height=8; inputs: 0: 0xec00c8a59b9 ; [fp - 16] 0xec00c8a59b9 1: 0x2a2af9902311 ; [fp + 56] 0x2a2af9902311 2: 0x320bde5b6ca9 ; [fp + 48] 0x320bde5b6ca9 3: 0x320bde5b6b91 ; rcx 0x320bde5b6b91 4: 0x320bde5b6d19 ; rdx 0x320bde5b6d19 5: 0x2a2af9902311 ; [fp + 24] 0x2a2af9902311 6: 0x2a2af9902421 ; rdi 0x2a2af9902421 7: 0x35ef1a1ec031 ; [fp - 8] 0x35ef1a1ec031 8: 0x2a2af9904a41 ; (literal 7) 0x2a2af9904a41 9: 0x2a2af9904a41 ; (literal 7) 0x2a2af9904a41 10: 0x2a2af9904a41 ; (literal 7) 0x2a2af9904a41 11: 0x2a2af9902311 ; (literal 8) 0x2a2af9902311 12: 0x2a2af9904a41 ; (literal 7) 0x2a2af9904a41 13: 0x2a2af9904a41 ; (literal 7) 0x2a2af9904a41 14: 0x2a2af9904a41 ; (literal 7) 0x2a2af9904a41 15: 0x2a2af9904a41 ; (literal 7) 0x2a2af9904a41 translating interpreted frame readableAddChunk => bytecode_offset=62, height=64 0x7ffd8f45f6f0: [top + 160] <- 0x2a2af9902311 ; 0x2a2af9902311 (input #1) 0x7ffd8f45f6e8: [top + 152] <- 0x320bde5b6ca9 ; 0x320bde5b6ca9 (input #2) 0x7ffd8f45f6e0: [top + 144] <- 0x320bde5b6b91 ; 0x320bde5b6b91 (input #3) 0x7ffd8f45f6d8: [top + 136] <- 0x320bde5b6d19 ; 0x320bde5b6d19 (input #4) 0x7ffd8f45f6d0: [top + 128] <- 0x2a2af9902311 ; 0x2a2af9902311 (input #5) 0x7ffd8f45f6c8: [top + 120] <- 0x2a2af9902421 ; 0x2a2af9902421 (input #6) ------------------------- 0x7ffd8f45f6c0: [top + 112] <- 0x2851db679728 ; caller's pc 0x7ffd8f45f6b8: [top + 104] <- 0x7ffd8f45f738 ; caller's fp 0x7ffd8f45f6b0: [top + 96] <- 0x35ef1a1ec031 ; context 0x35ef1a1ec031 (input #7) 0x7ffd8f45f6a8: [top + 88] <- 0xec00c8a59b9 ; function 0xec00c8a59b9 (input #0) 0x7ffd8f45f6a0: [top + 80] <- 0x2a2af9902311 ; new_target 0x2a2af9902311 (input #0) 0x7ffd8f45f698: [top + 72] <- 0xec00c8f27e1 ; bytecode array 0xec00c8f27e1 (input #0) 0x7ffd8f45f690: [top + 64] <- 0x7300000000 ; bytecode offset 115 (input #0) ------------------------- 0x7ffd8f45f688: [top + 56] <- 0x2a2af9904a41 ; 0x2a2af9904a41 (input #8) 0x7ffd8f45f680: [top + 48] <- 0x2a2af9904a41 ; 0x2a2af9904a41 (input #9) 0x7ffd8f45f678: [top + 40] <- 0x2a2af9904a41 ; 0x2a2af9904a41 (input #10) 0x7ffd8f45f670: [top + 32] <- 0x2a2af9902311 ; 0x2a2af9902311 (input #11) 0x7ffd8f45f668: [top + 24] <- 0x2a2af9904a41 ; 0x2a2af9904a41 (input #12) 0x7ffd8f45f660: [top + 16] <- 0x2a2af9904a41 ; 0x2a2af9904a41 (input #13) 0x7ffd8f45f658: [top + 8] <- 0x2a2af9904a41 ; 0x2a2af9904a41 (input #14) 0x7ffd8f45f650: [top + 0] <- 0x2a2af9904a41 ; accumulator 0x2a2af9904a41 (input #15) [deoptimizing (eager): end 0xec00c8a59b9 @4 => node=62, pc=0x2851db648f00, caller sp=0x7ffd8f45f6f8, state=TOS_REGISTER, took 0.232 ms] [removing optimized code for: 0xec00c8a59b9 ] [deoptimizing (DEOPT eager): begin 0xec00c8a5a01 (opt #2) @1, FP to SP delta: 16, caller sp: 0x7ffd8f45f640] ;;; deoptimize at <_stream_readable.js:226:16>, wrong map reading input frame needMoreData => bytecode_offset=0, args=2, height=2; inputs: 0: 0xec00c8a5a01 ; [fp - 16] 0xec00c8a5a01 1: 0x2a2af9902311 ; [fp + 24] 0x2a2af9902311 2: 0x320bde5b6b91 ; rax 0x320bde5b6b91 3: 0x35ef1a1ec031 ; [fp - 8] 0x35ef1a1ec031 4: 0x2a2af9904a41 ; (literal 1) 0x2a2af9904a41 5: 0x2a2af9904a41 ; (literal 1) 0x2a2af9904a41 translating interpreted frame needMoreData => bytecode_offset=0, height=16 0x7ffd8f45f638: [top + 80] <- 0x2a2af9902311 ; 0x2a2af9902311 (input #1) 0x7ffd8f45f630: [top + 72] <- 0x320bde5b6b91 ; 0x320bde5b6b91 (input #2) ------------------------- 0x7ffd8f45f628: [top + 64] <- 0x2851db679ddc ; caller's pc 0x7ffd8f45f620: [top + 56] <- 0x7ffd8f45f648 ; caller's fp 0x7ffd8f45f618: [top + 48] <- 0x35ef1a1ec031 ; context 0x35ef1a1ec031 (input #3) 0x7ffd8f45f610: [top + 40] <- 0xec00c8a5a01 ; function 0xec00c8a5a01 (input #0) 0x7ffd8f45f608: [top + 32] <- 0x2a2af9902311 ; new_target 0x2a2af9902311 (input #0) 0x7ffd8f45f600: [top + 24] <- 0xec00c8f3691 ; bytecode array 0xec00c8f3691 (input #0) 0x7ffd8f45f5f8: [top + 16] <- 0x3500000000 ; bytecode offset 53 (input #0) ------------------------- 0x7ffd8f45f5f0: [top + 8] <- 0x2a2af9904a41 ; 0x2a2af9904a41 (input #4) 0x7ffd8f45f5e8: [top + 0] <- 0x2a2af9904a41 ; accumulator 0x2a2af9904a41 (input #5) [deoptimizing (eager): end 0xec00c8a5a01 @1 => node=0, pc=0x2851db648f00, caller sp=0x7ffd8f45f640, state=TOS_REGISTER, took 0.105 ms] [removing optimized code for: 0xec00c8a5a01 ] [marking 0xec00c8a59b9 for optimized recompilation, reason: hot and stable, ICs with typeinfo: 22/52 (42%), generic ICs: 0/52 (0%)] [compiling method 0xec00c8a59b9 using TurboFan] [optimizing 0x364ce2937511 - took 0.874, 3.458, 0.232 ms] [completed optimizing 0x364ce2937511 ] [marking 0x364ce29373f1 for optimized recompilation, reason: hot and stable, ICs with typeinfo: 4/9 (44%), generic ICs: 0/9 (0%)] [compiling method 0x364ce29373f1 using TurboFan] [optimizing 0x364ce29373f1 - took 0.086, 0.308, 0.034 ms] [completed optimizing 0x364ce29373f1 ] [marking 0xec00c8a5a01 for optimized recompilation, reason: small function, ICs with typeinfo: 7/7 (100%), generic ICs: 0/7 (0%)] [compiling method 0xec00c8a5a01 using TurboFan] [optimizing 0xec00c8a59b9 - took 0.807, 3.311, 0.256 ms] [completed optimizing 0xec00c8a59b9 ] [optimizing 0xec00c8a5a01 - took 0.062, 0.313, 0.018 ms] [completed optimizing 0xec00c8a5a01 ] [marking 0xec00c8a5ad9 for optimized recompilation, reason: small function, ICs with typeinfo: 2/7 (28%), generic ICs: 0/7 (0%)] [compiling method 0x320bde5b6d69 using TurboFan OSR] [optimizing 0x320bde5b6d69 - took 0.398, 1.195, 0.077 ms] [deoptimizing (DEOPT eager): begin 0x364ce2937511 (opt #11) @75, FP to SP delta: 136, caller sp: 0x7ffd8f45f7f8] ;;; deoptimize at <_stream_readable.js:393:15>, not a Smi reading input frame Readable.read => bytecode_offset=579, args=2, height=10; inputs: 0: 0x364ce2937511 ; [fp - 16] 0x364ce2937511 1: 0x320bde5b6ca9 ; [fp + 24] 0x320bde5b6ca9 2: 0xe2c582223e1 ; r8 0xe2c582223e1 3: 0x35ef1a1ec031 ; [fp - 8] 0x35ef1a1ec031 4: 0x320bde5b6b91 ; rax 0x320bde5b6b91 5: 0x8000000000 ; [fp - 24] 128 6: 0x2a2af9904a41 ; (literal 7) 0x2a2af9904a41 7: 0xe2c58222401 ; rbx 0xe2c58222401 8: 0x2a2af9904a41 ; (literal 7) 0x2a2af9904a41 9: 0x2a2af9904a41 ; (literal 7) 0x2a2af9904a41 10: 0x2a2af9904a41 ; (literal 7) 0x2a2af9904a41 11: 0x2a2af9904a41 ; (literal 7) 0x2a2af9904a41 12: 0x2a2af9904a41 ; (literal 7) 0x2a2af9904a41 13: 0xe2c582223e1 ; r8 0xe2c582223e1 translating interpreted frame Readable.read => bytecode_offset=579, height=80 0x7ffd8f45f7f0: [top + 144] <- 0x320bde5b6ca9 ; 0x320bde5b6ca9 (input #1) 0x7ffd8f45f7e8: [top + 136] <- 0xe2c582223e1 ; 0xe2c582223e1 (input #2) ------------------------- 0x7ffd8f45f7e0: [top + 128] <- 0x2851db719f92 ; caller's pc 0x7ffd8f45f7d8: [top + 120] <- 0x7ffd8f45f898 ; caller's fp 0x7ffd8f45f7d0: [top + 112] <- 0x35ef1a1ec031 ; context 0x35ef1a1ec031 (input #3) 0x7ffd8f45f7c8: [top + 104] <- 0x364ce2937511 ; function 0x364ce2937511 (input #0) 0x7ffd8f45f7c0: [top + 96] <- 0x2a2af9902311 ; new_target 0x2a2af9902311 (input #0) 0x7ffd8f45f7b8: [top + 88] <- 0xec00c8f43f9 ; bytecode array 0xec00c8f43f9 (input #0) 0x7ffd8f45f7b0: [top + 80] <- 0x27800000000 ; bytecode offset 632 (input #0) ------------------------- 0x7ffd8f45f7a8: [top + 72] <- 0x320bde5b6b91 ; 0x320bde5b6b91 (input #4) 0x7ffd8f45f7a0: [top + 64] <- 0x8000000000 ; 128 (input #5) 0x7ffd8f45f798: [top + 56] <- 0x2a2af9904a41 ; 0x2a2af9904a41 (input #6) 0x7ffd8f45f790: [top + 48] <- 0xe2c58222401 ; 0xe2c58222401 (input #7) 0x7ffd8f45f788: [top + 40] <- 0x2a2af9904a41 ; 0x2a2af9904a41 (input #8) 0x7ffd8f45f780: [top + 32] <- 0x2a2af9904a41 ; 0x2a2af9904a41 (input #9) 0x7ffd8f45f778: [top + 24] <- 0x2a2af9904a41 ; 0x2a2af9904a41 (input #10) 0x7ffd8f45f770: [top + 16] <- 0x2a2af9904a41 ; 0x2a2af9904a41 (input #11) 0x7ffd8f45f768: [top + 8] <- 0x2a2af9904a41 ; 0x2a2af9904a41 (input #12) 0x7ffd8f45f760: [top + 0] <- 0xe2c582223e1 ; accumulator 0xe2c582223e1 (input #13) [deoptimizing (eager): end 0x364ce2937511 @75 => node=579, pc=0x2851db648f00, caller sp=0x7ffd8f45f7f8, state=TOS_REGISTER, took 0.230 ms] [removing optimized code for: 0x364ce2937511 ] [marking 0xec00c8a5a91 for optimized recompilation, reason: hot and stable, ICs with typeinfo: 12/22 (54%), generic ICs: 0/22 (0%)] [compiling method 0xec00c8a5a91 using TurboFan] [optimizing 0xec00c8a5a91 - took 0.114, 0.438, 0.031 ms] [completed optimizing 0xec00c8a5a91 ] [marking 0xec00c8a5df1 for optimized recompilation, reason: hot and stable, ICs with typeinfo: 19/28 (67%), generic ICs: 0/28 (0%)] [compiling method 0xec00c8a5df1 using TurboFan] [marking 0x364ce2937511 for optimized recompilation, reason: hot and stable, ICs with typeinfo: 46/67 (68%), generic ICs: 0/67 (0%)] [compiling method 0x364ce2937511 using TurboFan] [marking 0x18b2b54be6f1 for optimized recompilation, reason: hot and stable, ICs with typeinfo: 15/54 (27%), generic ICs: 1/54 (1%)] [compiling method 0x18b2b54be6f1 using TurboFan] [marking 0xec00c8a5e39 for optimized recompilation, reason: hot and stable, ICs with typeinfo: 9/22 (40%), generic ICs: 0/22 (0%)] [compiling method 0xec00c8a5e39 using TurboFan] [optimizing 0x18b2b54be6f1 - took 0.437, 2.022, 0.179 ms] [completed optimizing 0x18b2b54be6f1 ] [optimizing 0x364ce2937511 - took 0.915, 3.517, 0.228 ms] [completed optimizing 0x364ce2937511 ] [marking 0x18b2b54dad69 for optimized recompilation, reason: small function, ICs with typeinfo: 2/2 (100%), generic ICs: 0/2 (0%)] [compiling method 0x18b2b54dad69 using TurboFan] [optimizing 0xec00c8a5df1 - took 0.724, 6.041, 0.192 ms] [completed optimizing 0xec00c8a5df1 ] [optimizing 0x18b2b54dad69 - took 0.476, 1.132, 0.090 ms] [completed optimizing 0x18b2b54dad69 ] [optimizing 0xec00c8a5e39 - took 1.063, 2.357, 0.157 ms] [completed optimizing 0xec00c8a5e39 ] [marking 0x18b2b549a591 for optimized recompilation, reason: not much type info but very hot, ICs with typeinfo: 1/9 (11%), generic ICs: 0/9 (0%)] [compiling method 0x18b2b549a591 using TurboFan] [optimizing 0x18b2b549a591 - took 0.155, 0.405, 0.064 ms] [completed optimizing 0x18b2b549a591 ] [deoptimizing (DEOPT soft): begin 0x320bde5b6d69 (opt #15) @23, FP to SP delta: 160, caller sp: 0x7ffd8f45f8b8] ;;; deoptimize at <_stream_readable.js:151:10> inlined at , Insufficient type feedback for generic named access reading input frame main => bytecode_offset=197, args=2, height=10; inputs: 0: 0x320bde5b6d69 ; [fp - 16] 0x320bde5b6d69 1: 0x2a2af9902311 ; [fp + 24] 0x2a2af9902311 2: 0x320bde5b6df1 ; [fp + 16] 0x320bde5b6df1 3: 0x320bde5b6db1 ; [fp - 120] 0x320bde5b6db1 4: 0x3e800000000 ; [fp - 48] 1000 5: 0x2a2af9904a41 ; (literal 3) 0x2a2af9904a41 6: 0x2a2af9904a41 ; (literal 3) 0x2a2af9904a41 7: 0x2a2af9904a41 ; (literal 3) 0x2a2af9904a41 8: 0x2a2af9904a41 ; (literal 3) 0x2a2af9904a41 9: 0x2a2af9904a41 ; (literal 3) 0x2a2af9904a41 10: 0x2a2af9904a41 ; (literal 3) 0x2a2af9904a41 11: 0x320bde5c8f71 ; rax 0x320bde5c8f71 12: 0x2a2af9904a41 ; (literal 3) 0x2a2af9904a41 13: 0x2a2af9904a41 ; (literal 3) 0x2a2af9904a41 translating interpreted frame main => bytecode_offset=197, height=80 0x7ffd8f45f8b0: [top + 144] <- 0x2a2af9902311 ; 0x2a2af9902311 (input #1) 0x7ffd8f45f8a8: [top + 136] <- 0x320bde5b6df1 ; 0x320bde5b6df1 (input #2) ------------------------- 0x7ffd8f45f8a0: [top + 128] <- 0x2851db679ddc ; caller's pc 0x7ffd8f45f898: [top + 120] <- 0x7ffd8f45f8c0 ; caller's fp 0x7ffd8f45f890: [top + 112] <- 0x320bde5b6db1 ; context 0x320bde5b6db1 (input #3) 0x7ffd8f45f888: [top + 104] <- 0x320bde5b6d69 ; function 0x320bde5b6d69 (input #0) 0x7ffd8f45f880: [top + 96] <- 0x2a2af9902311 ; new_target 0x2a2af9902311 (input #0) 0x7ffd8f45f878: [top + 88] <- 0xec00c8f05b1 ; bytecode array 0xec00c8f05b1 (input #0) 0x7ffd8f45f870: [top + 80] <- 0xfa00000000 ; bytecode offset 250 (input #0) ------------------------- 0x7ffd8f45f868: [top + 72] <- 0x3e800000000 ; 1000 (input #4) 0x7ffd8f45f860: [top + 64] <- 0x2a2af9904a41 ; 0x2a2af9904a41 (input #5) 0x7ffd8f45f858: [top + 56] <- 0x2a2af9904a41 ; 0x2a2af9904a41 (input #6) 0x7ffd8f45f850: [top + 48] <- 0x2a2af9904a41 ; 0x2a2af9904a41 (input #7) 0x7ffd8f45f848: [top + 40] <- 0x2a2af9904a41 ; 0x2a2af9904a41 (input #8) 0x7ffd8f45f840: [top + 32] <- 0x2a2af9904a41 ; 0x2a2af9904a41 (input #9) 0x7ffd8f45f838: [top + 24] <- 0x2a2af9904a41 ; 0x2a2af9904a41 (input #10) 0x7ffd8f45f830: [top + 16] <- 0x320bde5c8f71 ; 0x320bde5c8f71 (input #11) 0x7ffd8f45f828: [top + 8] <- 0x2a2af9904a41 ; 0x2a2af9904a41 (input #12) 0x7ffd8f45f820: [top + 0] <- 0x2a2af9904a41 ; accumulator 0x2a2af9904a41 (input #13) [deoptimizing (soft): end 0x320bde5b6d69 @23 => node=197, pc=0x2851db648f00, caller sp=0x7ffd8f45f8b8, state=TOS_REGISTER, took 0.250 ms] [deoptimizing (DEOPT eager): begin 0x18b2b54be6f1 (opt #19) @1, FP to SP delta: 128, caller sp: 0x7ffd8f45fc80] ;;; deoptimize at , wrong instance type reading input frame emit => bytecode_offset=3, args=2, height=24; inputs: 0: 0x18b2b54be6f1 ; [fp - 16] 0x18b2b54be6f1 1: 0x364ce297e3e9 ; [fp + 24] 0x364ce297e3e9 2: 0x2fb276743081 ; r9 0x2fb276743081 3: 0x35ef1a18d959 ; [fp - 8] 0x35ef1a18d959 4: 0x2a2af9902311 ; (literal 4) 0x2a2af9902311 5: 0x2a2af9904a41 ; (literal 5) 0x2a2af9904a41 6: 0x2a2af9904a41 ; (literal 5) 0x2a2af9904a41 7: 0x2a2af9904a41 ; (literal 5) 0x2a2af9904a41 8: 0x2a2af9904a41 ; (literal 5) 0x2a2af9904a41 9: 0x2a2af9904a41 ; (literal 5) 0x2a2af9904a41 10: 0x2a2af9904a41 ; (literal 5) 0x2a2af9904a41 11: 0x2a2af9904a41 ; (literal 5) 0x2a2af9904a41 12: 0x2a2af9904a41 ; (literal 5) 0x2a2af9904a41 13: 0x2a2af9904a41 ; (literal 5) 0x2a2af9904a41 14: 0x2a2af9904a41 ; (literal 5) 0x2a2af9904a41 15: 0x2a2af9904a41 ; (literal 5) 0x2a2af9904a41 16: 0x2fb2767430e9 ; rdi 0x2fb2767430e9 17: 0x2a2af9904a41 ; (literal 5) 0x2a2af9904a41 18: 0x2a2af9904a41 ; (literal 5) 0x2a2af9904a41 19: 0x2a2af9904a41 ; (literal 5) 0x2a2af9904a41 20: 0x2a2af9904a41 ; (literal 5) 0x2a2af9904a41 21: 0x2a2af9904a41 ; (literal 5) 0x2a2af9904a41 22: 0x2a2af9904a41 ; (literal 5) 0x2a2af9904a41 23: 0x2a2af9904a41 ; (literal 5) 0x2a2af9904a41 24: 0x2a2af9904a41 ; (literal 5) 0x2a2af9904a41 25: 0x2a2af9904a41 ; (literal 5) 0x2a2af9904a41 26: 0x2a2af9904a41 ; (literal 5) 0x2a2af9904a41 27: 0x2a2af9904a41 ; (literal 5) 0x2a2af9904a41 translating interpreted frame emit => bytecode_offset=3, height=192 0x7ffd8f45fc78: [top + 256] <- 0x364ce297e3e9 ; 0x364ce297e3e9 (input #1) 0x7ffd8f45fc70: [top + 248] <- 0x2fb276743081 ; 0x2fb276743081 (input #2) ------------------------- 0x7ffd8f45fc68: [top + 240] <- 0x2851db585a7b ; caller's pc 0x7ffd8f45fc60: [top + 232] <- 0x7ffd8f45fc98 ; caller's fp 0x7ffd8f45fc58: [top + 224] <- 0x35ef1a18d959 ; context 0x35ef1a18d959 (input #3) 0x7ffd8f45fc50: [top + 216] <- 0x18b2b54be6f1 ; function 0x18b2b54be6f1 (input #0) 0x7ffd8f45fc48: [top + 208] <- 0x2a2af9902311 ; new_target 0x2a2af9902311 (input #0) 0x7ffd8f45fc40: [top + 200] <- 0x18b2b54f6541 ; bytecode array 0x18b2b54f6541 (input #0) 0x7ffd8f45fc38: [top + 192] <- 0x3800000000 ; bytecode offset 56 (input #0) ------------------------- 0x7ffd8f45fc30: [top + 184] <- 0x2a2af9902311 ; 0x2a2af9902311 (input #4) 0x7ffd8f45fc28: [top + 176] <- 0x2a2af9904a41 ; 0x2a2af9904a41 (input #5) 0x7ffd8f45fc20: [top + 168] <- 0x2a2af9904a41 ; 0x2a2af9904a41 (input #6) 0x7ffd8f45fc18: [top + 160] <- 0x2a2af9904a41 ; 0x2a2af9904a41 (input #7) 0x7ffd8f45fc10: [top + 152] <- 0x2a2af9904a41 ; 0x2a2af9904a41 (input #8) 0x7ffd8f45fc08: [top + 144] <- 0x2a2af9904a41 ; 0x2a2af9904a41 (input #9) 0x7ffd8f45fc00: [top + 136] <- 0x2a2af9904a41 ; 0x2a2af9904a41 (input #10) 0x7ffd8f45fbf8: [top + 128] <- 0x2a2af9904a41 ; 0x2a2af9904a41 (input #11) 0x7ffd8f45fbf0: [top + 120] <- 0x2a2af9904a41 ; 0x2a2af9904a41 (input #12) 0x7ffd8f45fbe8: [top + 112] <- 0x2a2af9904a41 ; 0x2a2af9904a41 (input #13) 0x7ffd8f45fbe0: [top + 104] <- 0x2a2af9904a41 ; 0x2a2af9904a41 (input #14) 0x7ffd8f45fbd8: [top + 96] <- 0x2a2af9904a41 ; 0x2a2af9904a41 (input #15) 0x7ffd8f45fbd0: [top + 88] <- 0x2fb2767430e9 ; 0x2fb2767430e9 (input #16) 0x7ffd8f45fbc8: [top + 80] <- 0x2a2af9904a41 ; 0x2a2af9904a41 (input #17) 0x7ffd8f45fbc0: [top + 72] <- 0x2a2af9904a41 ; 0x2a2af9904a41 (input #18) 0x7ffd8f45fbb8: [top + 64] <- 0x2a2af9904a41 ; 0x2a2af9904a41 (input #19) 0x7ffd8f45fbb0: [top + 56] <- 0x2a2af9904a41 ; 0x2a2af9904a41 (input #20) 0x7ffd8f45fba8: [top + 48] <- 0x2a2af9904a41 ; 0x2a2af9904a41 (input #21) 0x7ffd8f45fba0: [top + 40] <- 0x2a2af9904a41 ; 0x2a2af9904a41 (input #22) 0x7ffd8f45fb98: [top + 32] <- 0x2a2af9904a41 ; 0x2a2af9904a41 (input #23) 0x7ffd8f45fb90: [top + 24] <- 0x2a2af9904a41 ; 0x2a2af9904a41 (input #24) 0x7ffd8f45fb88: [top + 16] <- 0x2a2af9904a41 ; 0x2a2af9904a41 (input #25) 0x7ffd8f45fb80: [top + 8] <- 0x2a2af9904a41 ; 0x2a2af9904a41 (input #26) 0x7ffd8f45fb78: [top + 0] <- 0x2a2af9904a41 ; accumulator 0x2a2af9904a41 (input #27) [deoptimizing (eager): end 0x18b2b54be6f1 @1 => node=3, pc=0x2851db648f00, caller sp=0x7ffd8f45fc80, state=TOS_REGISTER, took 0.384 ms] [removing optimized code for: 0x18b2b54be6f1 ] streams/readable-bigread.js n=1000: 497.0089677266382 ```
node-cs: ``` [marking 0x1571e7b38e9 for optimized recompilation, reason: small function, ICs with typeinfo: 9/10 (90%), generic ICs: 0/10 (0%)] [marking 0x2375da6a5eb1 for optimized recompilation, reason: small function, ICs with typeinfo: 4/7 (57%), generic ICs: 0/7 (0%)] [marking 0x2375da6a5cb9 for optimized recompilation, reason: small function, ICs with typeinfo: 9/11 (81%), generic ICs: 0/11 (0%)] [marking 0x1571e7b3b01 for optimized recompilation, reason: small function, ICs with typeinfo: 4/12 (33%), generic ICs: 0/12 (0%)] [compiling method 0x1571e7b3b01 using Crankshaft] [compiling method 0x1571e7b38e9 using Crankshaft] [compiling method 0x2375da6a5eb1 using Crankshaft] [optimizing 0x1571e7b3b01 - took 0.069, 0.128, 0.047 ms] [completed optimizing 0x1571e7b3b01 ] [optimizing 0x1571e7b38e9 - took 0.046, 0.095, 0.050 ms] [completed optimizing 0x1571e7b38e9 ] [optimizing 0x2375da6a5eb1 - took 0.030, 0.063, 0.015 ms] [completed optimizing 0x2375da6a5eb1 ] [compiling method 0x2375da6a5cb9 using Crankshaft] [marking 0x2375da6a5d91 for optimized recompilation, reason: small function, ICs with typeinfo: 2/6 (33%), generic ICs: 0/6 (0%)] [compiling method 0x2375da6a5d91 using Crankshaft] [optimizing 0x2375da6a5cb9 - took 0.032, 0.094, 0.022 ms] [completed optimizing 0x2375da6a5cb9 ] [optimizing 0x2375da6a5d91 - took 0.038, 0.064, 0.015 ms] [completed optimizing 0x2375da6a5d91 ] [marking 0x2375da6a5c71 for optimized recompilation, reason: hot and stable, ICs with typeinfo: 33/86 (38%), generic ICs: 0/86 (0%)] [compiling method 0x2375da6a5c71 using Crankshaft] [deoptimizing (DEOPT soft): begin 0x2375da6a5cb9 (opt #3) @5, FP to SP delta: 24, caller sp: 0x7ffc711ff560] ;;; deoptimize at <_stream_readable.js:229:24>, Insufficient type feedback for generic named access reading input frame needMoreData => node=26, args=2, height=2; inputs: 0: 0x2375da6a5cb9 ; [fp - 16] 0x2375da6a5cb9 1: 0x3bccd3c02311 ; [fp + 24] 0x3bccd3c02311 2: 0x265eaea76fe1 ; rax 0x265eaea76fe1 3: 0x3f0550d656d1 ; [fp - 24] 0x3f0550d656d1 4: 0x3bccd3c02421 ; rdx 0x3bccd3c02421 translating frame needMoreData => node=26, height=8 0x7ffc711ff558: [top + 48] <- 0x3bccd3c02311 ; 0x3bccd3c02311 (input #1) 0x7ffc711ff550: [top + 40] <- 0x265eaea76fe1 ; 0x265eaea76fe1 (input #2) ------------------------- 0x7ffc711ff548: [top + 32] <- 0x2f8b1d9d9fc6 ; caller's pc 0x7ffc711ff540: [top + 24] <- 0x7ffc711ff598 ; caller's fp 0x7ffc711ff538: [top + 16] <- 0x3f0550d656d1 ; context 0x3f0550d656d1 (input #3) 0x7ffc711ff530: [top + 8] <- 0x2375da6a5cb9 ; function 0x2375da6a5cb9 (input #0) ------------------------- 0x7ffc711ff528: [top + 0] <- 0x3bccd3c02421 ; 0x3bccd3c02421 (input #4) [deoptimizing (soft): end 0x2375da6a5cb9 @5 => node=26, pc=0x2f8b1d9da864, caller sp=0x7ffc711ff560, state=TOS_REGISTER, took 0.088 ms] [removing optimized code for: 0x2375da6a5cb9 ] [evicting entry from optimizing code map (notify deoptimized) for 0x1571e7b0489 ] [marking 0x2375da6a5cb9 for optimized recompilation, reason: small function, ICs with typeinfo: 11/11 (100%), generic ICs: 0/11 (0%)] [compiling method 0x2375da6a5cb9 using Crankshaft] [optimizing 0x2375da6a5cb9 - took 0.037, 0.085, 0.034 ms] [completed optimizing 0x2375da6a5cb9 ] [optimizing 0x2375da6a5c71 - took 0.306, 0.709, 0.117 ms] [completed optimizing 0x2375da6a5c71 ] [deoptimizing (DEOPT soft): begin 0x2375da6a5c71 (opt #5) @56, FP to SP delta: 88, caller sp: 0x7ffc711ff5d8] ;;; deoptimize at <_stream_readable.js:229:24>, Insufficient type feedback for generic named access reading input frame readableAddChunk => node=708, args=6, height=6; inputs: 0: 0x2375da6a5c71 ; [fp - 16] 0x2375da6a5c71 1: 0x3bccd3c02311 ; [fp + 56] 0x3bccd3c02311 2: 0x265eaea76e41 ; [fp + 48] 0x265eaea76e41 3: 0x265eaea76fe1 ; rdx 0x265eaea76fe1 4: 0x3bccd3c02311 ; (literal 9) 0x3bccd3c02311 5: 0x3bccd3c02311 ; [fp + 24] 0x3bccd3c02311 6: 0x3bccd3c02421 ; [fp + 16] 0x3bccd3c02421 7: 0x3f0550d656d1 ; rax 0x3f0550d656d1 8: 0x3bccd3c02311 ; (literal 9) 0x3bccd3c02311 9: 0x3bccd3c02311 ; (literal 9) 0x3bccd3c02311 10: 0x3bccd3c04a41 ; (literal 13) 0x3bccd3c04a41 11: 0x3bccd3c02311 ; (literal 9) 0x3bccd3c02311 12: 0x2375da6a5cb9 ; rbx 0x2375da6a5cb9 reading input frame needMoreData => node=26, args=2, height=2; inputs: 0: 0x2375da6a5cb9 ; (literal 19) 0x2375da6a5cb9 1: 0x3bccd3c02311 ; (literal 9) 0x3bccd3c02311 2: 0x265eaea76fe1 ; rdx 0x265eaea76fe1 3: 0x3f0550d656d1 ; (literal 11) 0x3f0550d656d1 4: 0x3bccd3c02421 ; rsi 0x3bccd3c02421 translating frame readableAddChunk => node=708, height=40 0x7ffc711ff5d0: [top + 112] <- 0x3bccd3c02311 ; 0x3bccd3c02311 (input #1) 0x7ffc711ff5c8: [top + 104] <- 0x265eaea76e41 ; 0x265eaea76e41 (input #2) 0x7ffc711ff5c0: [top + 96] <- 0x265eaea76fe1 ; 0x265eaea76fe1 (input #3) 0x7ffc711ff5b8: [top + 88] <- 0x3bccd3c02311 ; 0x3bccd3c02311 (input #4) 0x7ffc711ff5b0: [top + 80] <- 0x3bccd3c02311 ; 0x3bccd3c02311 (input #5) 0x7ffc711ff5a8: [top + 72] <- 0x3bccd3c02421 ; 0x3bccd3c02421 (input #6) ------------------------- 0x7ffc711ff5a0: [top + 64] <- 0x2f8b1d9db26a ; caller's pc 0x7ffc711ff598: [top + 56] <- 0x7ffc711ff600 ; caller's fp 0x7ffc711ff590: [top + 48] <- 0x3f0550d656d1 ; context 0x3f0550d656d1 (input #7) 0x7ffc711ff588: [top + 40] <- 0x2375da6a5c71 ; function 0x2375da6a5c71 (input #0) ------------------------- 0x7ffc711ff580: [top + 32] <- 0x3bccd3c02311 ; 0x3bccd3c02311 (input #8) 0x7ffc711ff578: [top + 24] <- 0x3bccd3c02311 ; 0x3bccd3c02311 (input #9) 0x7ffc711ff570: [top + 16] <- 0x3bccd3c04a41 ; 0x3bccd3c04a41 (input #10) 0x7ffc711ff568: [top + 8] <- 0x3bccd3c02311 ; 0x3bccd3c02311 (input #11) 0x7ffc711ff560: [top + 0] <- 0x2375da6a5cb9 ; 0x2375da6a5cb9 (input #12) translating frame needMoreData => node=26, height=8 0x7ffc711ff558: [top + 48] <- 0x3bccd3c02311 ; 0x3bccd3c02311 (input #1) 0x7ffc711ff550: [top + 40] <- 0x265eaea76fe1 ; 0x265eaea76fe1 (input #2) ------------------------- 0x7ffc711ff548: [top + 32] <- 0x2f8b1d9d9fc6 ; caller's pc 0x7ffc711ff540: [top + 24] <- 0x7ffc711ff598 ; caller's fp 0x7ffc711ff538: [top + 16] <- 0x3f0550d656d1 ; context 0x3f0550d656d1 (input #3) 0x7ffc711ff530: [top + 8] <- 0x2375da6a5cb9 ; function 0x2375da6a5cb9 (input #0) ------------------------- 0x7ffc711ff528: [top + 0] <- 0x3bccd3c02421 ; 0x3bccd3c02421 (input #4) [deoptimizing (soft): end 0x2375da6a5c71 @56 => node=26, pc=0x2f8b1d9da864, caller sp=0x7ffc711ff5d8, state=TOS_REGISTER, took 0.222 ms] [removing optimized code for: 0x2375da6a5c71 ] [evicting entry from optimizing code map (notify deoptimized) for 0x1571e7b03b9 ] [marking 0x2375da6a5c71 for optimized recompilation, reason: hot and stable, ICs with typeinfo: 33/86 (38%), generic ICs: 0/86 (0%)] [compiling method 0x2375da6a5c71 using Crankshaft] [optimizing 0x2375da6a5c71 - took 0.239, 0.625, 0.122 ms] [completed optimizing 0x2375da6a5c71 ] [marking 0x1571e7b2b11 for optimized recompilation, reason: small function, ICs with typeinfo: 0/0 (100%), generic ICs: 0/0 (0%)] [compiling method 0x1571e7b2b11 using Crankshaft] [marking 0x3d7d93c5a351 for optimized recompilation, reason: small function, ICs with typeinfo: 2/3 (66%), generic ICs: 0/3 (0%)] [compiling method 0x3d7d93c5a351 using Crankshaft] [optimizing 0x1571e7b2b11 - took 0.008, 0.025, 0.007 ms] [completed optimizing 0x1571e7b2b11 ] [optimizing 0x3d7d93c5a351 - took 0.025, 0.048, 0.017 ms] [completed optimizing 0x3d7d93c5a351 ] [marking 0x3f0550d76ec9 for optimized recompilation, reason: small function, ICs with typeinfo: 11/17 (64%), generic ICs: 0/17 (0%)] [marking 0x3d7d93c59f09 for optimized recompilation, reason: small function, ICs with typeinfo: 2/4 (50%), generic ICs: 0/4 (0%)] [compiling method 0x3d7d93c59f09 using Crankshaft] [compiling method 0x3f0550d76ec9 using Crankshaft] [optimizing 0x3f0550d76ec9 - took 0.089, 0.177, 0.087 ms] [completed optimizing 0x3f0550d76ec9 ] [optimizing 0x3d7d93c59f09 - took 0.262, 0.366, 0.079 ms] [completed optimizing 0x3d7d93c59f09 ] [marking 0x2375da6a5d49 for optimized recompilation, reason: hot and stable, ICs with typeinfo: 10/28 (35%), generic ICs: 0/28 (0%)] [marking 0x2375da6a60f1 for optimized recompilation, reason: hot and stable, ICs with typeinfo: 10/28 (35%), generic ICs: 0/28 (0%)] [marking 0x2375da6a60a9 for optimized recompilation, reason: hot and stable, ICs with typeinfo: 10/36 (27%), generic ICs: 0/36 (0%)] [marking 0x1571e7b3c21 for optimized recompilation, reason: hot and stable, ICs with typeinfo: 31/91 (34%), generic ICs: 0/91 (0%)] [compiling method 0x1571e7b3c21 using Crankshaft] [compiling method 0x2375da6a5d49 using Crankshaft] [compiling method 0x2375da6a60a9 using Crankshaft] [optimizing 0x2375da6a5d49 - took 0.075, 0.192, 0.041 ms] [completed optimizing 0x2375da6a5d49 ] [optimizing 0x1571e7b3c21 - took 0.646, 1.750, 0.313 ms] [completed optimizing 0x1571e7b3c21 ] [optimizing 0x2375da6a60a9 - took 0.545, 1.110, 0.216 ms] [completed optimizing 0x2375da6a60a9 ] [marking 0x3f0550d76f59 for optimized recompilation, reason: small function, ICs with typeinfo: 4/4 (100%), generic ICs: 0/4 (0%)] [compiling method 0x3f0550d76f59 using Crankshaft] [optimizing 0x3f0550d76f59 - took 0.018, 0.052, 0.023 ms] [completed optimizing 0x3f0550d76f59 ] [deoptimizing (DEOPT soft): begin 0x1571e7b3c21 (opt #12) @19, FP to SP delta: 232, caller sp: 0x7ffc711ff660] ;;; deoptimize at <_stream_readable.js:358:5>, Insufficient type feedback for generic named access reading input frame Readable.read => node=509, args=2, height=5; inputs: 0: 0x1571e7b3c21 ; [fp - 16] 0x1571e7b3c21 1: 0x735f0b02469 ; [fp + 24] 0x735f0b02469 2: 0x8000000000 ; [fp - 48] 128 3: 0x3f0550d656d1 ; [fp - 24] 0x3f0550d656d1 4: 0x735f0b02351 ; [fp - 40] 0x735f0b02351 5: 0x8000000000 ; [fp - 32] 128 6: 0x3bccd3c023b1 ; [fp - 56] 0x3bccd3c023b1 7: 0x3bccd3c02311 ; (literal 17) 0x3bccd3c02311 translating frame Readable.read => node=509, height=32 0x7ffc711ff658: [top + 72] <- 0x735f0b02469 ; 0x735f0b02469 (input #1) 0x7ffc711ff650: [top + 64] <- 0x8000000000 ; 128 (input #2) ------------------------- 0x7ffc711ff648: [top + 56] <- 0x2f8b1d9d745d ; caller's pc 0x7ffc711ff640: [top + 48] <- 0x7ffc711ff6a8 ; caller's fp 0x7ffc711ff638: [top + 40] <- 0x3f0550d656d1 ; context 0x3f0550d656d1 (input #3) 0x7ffc711ff630: [top + 32] <- 0x1571e7b3c21 ; function 0x1571e7b3c21 (input #0) ------------------------- 0x7ffc711ff628: [top + 24] <- 0x735f0b02351 ; 0x735f0b02351 (input #4) 0x7ffc711ff620: [top + 16] <- 0x8000000000 ; 128 (input #5) 0x7ffc711ff618: [top + 8] <- 0x3bccd3c023b1 ; 0x3bccd3c023b1 (input #6) 0x7ffc711ff610: [top + 0] <- 0x3bccd3c02311 ; 0x3bccd3c02311 (input #7) [deoptimizing (soft): end 0x1571e7b3c21 @19 => node=509, pc=0x2f8b1d9e03e9, caller sp=0x7ffc711ff660, state=NO_REGISTERS, took 0.115 ms] [removing optimized code for: 0x1571e7b3c21 ] [evicting entry from optimizing code map (notify deoptimized) for 0x1571e7b1809 ] [deoptimizing (DEOPT soft): begin 0x2375da6a60a9 (opt #14) @80, FP to SP delta: 192, caller sp: 0x7ffc711ff608] ;;; deoptimize at <_stream_readable.js:865:20>, Insufficient type feedback for generic named access reading input frame fromList => node=71, args=3, height=2; inputs: 0: 0x2375da6a60a9 ; [fp - 16] 0x2375da6a60a9 1: 0x3bccd3c02311 ; [fp + 32] 0x3bccd3c02311 2: 0x8000000000 ; [fp + 24] 128 3: 0x735f0b02351 ; [fp + 16] 0x735f0b02351 4: 0x3f0550d656d1 ; [fp - 24] 0x3f0550d656d1 5: 0x3bccd3c02311 ; (literal 19) 0x3bccd3c02311 translating frame fromList => node=71, height=8 0x7ffc711ff600: [top + 56] <- 0x3bccd3c02311 ; 0x3bccd3c02311 (input #1) 0x7ffc711ff5f8: [top + 48] <- 0x8000000000 ; 128 (input #2) 0x7ffc711ff5f0: [top + 40] <- 0x735f0b02351 ; 0x735f0b02351 (input #3) ------------------------- 0x7ffc711ff5e8: [top + 32] <- 0x2f8b1d9e05fd ; caller's pc 0x7ffc711ff5e0: [top + 24] <- 0x7ffc711ff640 ; caller's fp 0x7ffc711ff5d8: [top + 16] <- 0x3f0550d656d1 ; context 0x3f0550d656d1 (input #4) 0x7ffc711ff5d0: [top + 8] <- 0x2375da6a60a9 ; function 0x2375da6a60a9 (input #0) ------------------------- 0x7ffc711ff5c8: [top + 0] <- 0x3bccd3c02311 ; 0x3bccd3c02311 (input #5) [deoptimizing (soft): end 0x2375da6a60a9 @80 => node=71, pc=0x2f8b1d9e0f47, caller sp=0x7ffc711ff608, state=NO_REGISTERS, took 0.097 ms] [removing optimized code for: 0x2375da6a60a9 ] [evicting entry from optimizing code map (notify deoptimized) for 0x1571e7b0fe9 ] [deoptimizing (DEOPT soft): begin 0x2375da6a5d49 (opt #13) @3, FP to SP delta: 40, caller sp: 0x7ffc711ff608] ;;; deoptimize at <_stream_readable.js:263:31>, Insufficient type feedback for generic named access reading input frame howMuchToRead => node=23, args=3, height=1; inputs: 0: 0x2375da6a5d49 ; [fp - 16] 0x2375da6a5d49 1: 0x3bccd3c02311 ; [fp + 32] 0x3bccd3c02311 2: 0x8000000000 ; [fp + 24] 128 3: 0x735f0b02351 ; r8 0x735f0b02351 4: 0x3f0550d656d1 ; [fp - 24] 0x3f0550d656d1 translating frame howMuchToRead => node=23, height=0 0x7ffc711ff600: [top + 48] <- 0x3bccd3c02311 ; 0x3bccd3c02311 (input #1) 0x7ffc711ff5f8: [top + 40] <- 0x8000000000 ; 128 (input #2) 0x7ffc711ff5f0: [top + 32] <- 0x735f0b02351 ; 0x735f0b02351 (input #3) ------------------------- 0x7ffc711ff5e8: [top + 24] <- 0x2f8b1d9e0010 ; caller's pc 0x7ffc711ff5e0: [top + 16] <- 0x7ffc711ff640 ; caller's fp 0x7ffc711ff5d8: [top + 8] <- 0x3f0550d656d1 ; context 0x3f0550d656d1 (input #4) 0x7ffc711ff5d0: [top + 0] <- 0x2375da6a5d49 ; function 0x2375da6a5d49 (input #0) ------------------------- [deoptimizing (soft): end 0x2375da6a5d49 @3 => node=23, pc=0x2f8b1d9e098e, caller sp=0x7ffc711ff608, state=NO_REGISTERS, took 0.078 ms] [removing optimized code for: 0x2375da6a5d49 ] [evicting entry from optimizing code map (notify deoptimized) for 0x1571e7b0629 ] [compiling method 0x2375da6a60f1 using Crankshaft] [marking 0x1571e7b3c21 for optimized recompilation, reason: hot and stable, ICs with typeinfo: 43/91 (47%), generic ICs: 0/91 (0%)] [compiling method 0x1571e7b3c21 using Crankshaft] [optimizing 0x2375da6a60f1 - took 0.433, 0.915, 0.189 ms] [completed optimizing 0x2375da6a60f1 ] [marking 0x2375da6a5d49 for optimized recompilation, reason: hot and stable, ICs with typeinfo: 12/28 (42%), generic ICs: 0/28 (0%)] [compiling method 0x2375da6a5d49 using Crankshaft] [optimizing 0x2375da6a5d49 - took 0.065, 0.171, 0.031 ms] [completed optimizing 0x2375da6a5d49 ] [marking 0x2375da6a60a9 for optimized recompilation, reason: hot and stable, ICs with typeinfo: 14/36 (38%), generic ICs: 0/36 (0%)] [compiling method 0x2375da6a60a9 using Crankshaft] [optimizing 0x1571e7b3c21 - took 0.555, 1.801, 0.306 ms] [completed optimizing 0x1571e7b3c21 ] [optimizing 0x2375da6a60a9 - took 0.397, 1.120, 0.205 ms] [completed optimizing 0x2375da6a60a9 ] [marking 0x221231a4b231 for optimized recompilation, reason: hot and stable, ICs with typeinfo: 14/25 (56%), generic ICs: 0/25 (0%)] [marking 0x3f0550d76f11 for optimized recompilation, reason: small function, ICs with typeinfo: 1/1 (100%), generic ICs: 0/1 (0%)] [compiling method 0x3f0550d76f11 using TurboFan] [optimizing 0x3f0550d76f11 - took 0.125, 0.224, 0.029 ms] [completed optimizing 0x3f0550d76f11 ] [compiling method 0x221231a4b231 using Crankshaft OSR] [optimizing 0x221231a4b231 - took 0.291, 0.436, 0.099 ms] [marking 0x3f0550d1fc99 for optimized recompilation, reason: small function, ICs with typeinfo: 2/3 (66%), generic ICs: 0/3 (0%)] [compiling method 0x3f0550d1fc99 using Crankshaft] [optimizing 0x3f0550d1fc99 - took 0.030, 0.044, 0.042 ms] [completed optimizing 0x3f0550d1fc99 ] [marking 0x3d7d93c3de39 for optimized recompilation, reason: hot and stable, ICs with typeinfo: 19/69 (27%), generic ICs: 1/69 (1%)] [compiling method 0x3d7d93c3de39 using Crankshaft] [optimizing 0x3d7d93c3de39 - took 0.330, 0.716, 0.140 ms] [completed optimizing 0x3d7d93c3de39 ] [marking 0x221231a4b1e9 for optimized recompilation, reason: small function, ICs with typeinfo: 0/0 (100%), generic ICs: 0/0 (0%)] [marking 0x1571e7b39c1 for optimized recompilation, reason: small function, ICs with typeinfo: 3/3 (100%), generic ICs: 0/3 (0%)] [marking 0x2375da6a5e69 for optimized recompilation, reason: small function, ICs with typeinfo: 4/7 (57%), generic ICs: 0/7 (0%)] [marking 0x2375da6a5e21 for optimized recompilation, reason: small function, ICs with typeinfo: 11/16 (68%), generic ICs: 0/16 (0%)] [compiling method 0x221231a4b1e9 using Crankshaft] [optimizing 0x221231a4b1e9 - took 0.026, 0.043, 0.014 ms] [completed optimizing 0x221231a4b1e9 ] [compiling method 0x1571e7b39c1 using Crankshaft] [compiling method 0x2375da6a5e21 using Crankshaft] [optimizing 0x1571e7b39c1 - took 0.027, 0.036, 0.013 ms] [completed optimizing 0x1571e7b39c1 ] [optimizing 0x2375da6a5e21 - took 0.158, 0.174, 0.042 ms] [completed optimizing 0x2375da6a5e21 ] [marking 0x3d7d93c1a591 for optimized recompilation, reason: not much type info but very hot, ICs with typeinfo: 1/9 (11%), generic ICs: 0/9 (0%)] [compiling method 0x3d7d93c1a591 using TurboFan] [optimizing 0x3d7d93c1a591 - took 0.163, 0.407, 0.046 ms] [completed optimizing 0x3d7d93c1a591 ] [marking 0x3f0550d1fce1 for optimized recompilation, reason: hot and stable, ICs with typeinfo: 4/4 (100%), generic ICs: 2/4 (50%)] [compiling method 0x3f0550d1fce1 using TurboFan] [optimizing 0x3f0550d1fce1 - took 0.133, 0.262, 0.035 ms] [completed optimizing 0x3f0550d1fce1 ] [deoptimize marked code in all contexts] [deoptimizing (DEOPT eager): begin 0x3d7d93c3de39 (opt #23) @2, FP to SP delta: 144, caller sp: 0x7ffc711ff860] ;;; deoptimize at , wrong instance type reading input frame emit => node=4, args=2, height=15; inputs: 0: 0x3d7d93c3de39 ; [fp - 16] 0x3d7d93c3de39 1: 0x1571e7f7ac9 ; [fp + 24] 0x1571e7f7ac9 2: 0xdae62b5f1b1 ; r8 0xdae62b5f1b1 3: 0x3f0550d06f79 ; [fp - 24] 0x3f0550d06f79 4: 0x3bccd3c02311 ; (literal 5) 0x3bccd3c02311 5: 0x3bccd3c02311 ; (literal 5) 0x3bccd3c02311 6: 0x3bccd3c02311 ; (literal 5) 0x3bccd3c02311 7: 0x3bccd3c02311 ; (literal 5) 0x3bccd3c02311 8: 0x3bccd3c02311 ; (literal 5) 0x3bccd3c02311 9: 0x3bccd3c02311 ; (literal 5) 0x3bccd3c02311 10: 0x3bccd3c02311 ; (literal 5) 0x3bccd3c02311 11: 0x3bccd3c02311 ; (literal 5) 0x3bccd3c02311 12: 0x3bccd3c02311 ; (literal 5) 0x3bccd3c02311 13: 0x3bccd3c02311 ; (literal 5) 0x3bccd3c02311 14: 0x3bccd3c02311 ; (literal 5) 0x3bccd3c02311 15: 0x3bccd3c02311 ; (literal 5) 0x3bccd3c02311 16: arguments object #0 (length = 1) 0xdae62b5f1b1 ; r8 0xdae62b5f1b1 17: 0x3bccd3c02311 ; (literal 5) 0x3bccd3c02311 translating frame emit => node=4, height=112 0x7ffc711ff858: [top + 152] <- 0x1571e7f7ac9 ; 0x1571e7f7ac9 (input #1) 0x7ffc711ff850: [top + 144] <- 0xdae62b5f1b1 ; 0xdae62b5f1b1 (input #2) ------------------------- 0x7ffc711ff848: [top + 136] <- 0x2f8b1d805a7b ; caller's pc 0x7ffc711ff840: [top + 128] <- 0x7ffc711ff878 ; caller's fp 0x7ffc711ff838: [top + 120] <- 0x3f0550d06f79 ; context 0x3f0550d06f79 (input #3) 0x7ffc711ff830: [top + 112] <- 0x3d7d93c3de39 ; function 0x3d7d93c3de39 (input #0) ------------------------- 0x7ffc711ff828: [top + 104] <- 0x3bccd3c02311 ; 0x3bccd3c02311 (input #4) 0x7ffc711ff820: [top + 96] <- 0x3bccd3c02311 ; 0x3bccd3c02311 (input #5) 0x7ffc711ff818: [top + 88] <- 0x3bccd3c02311 ; 0x3bccd3c02311 (input #6) 0x7ffc711ff810: [top + 80] <- 0x3bccd3c02311 ; 0x3bccd3c02311 (input #7) 0x7ffc711ff808: [top + 72] <- 0x3bccd3c02311 ; 0x3bccd3c02311 (input #8) 0x7ffc711ff800: [top + 64] <- 0x3bccd3c02311 ; 0x3bccd3c02311 (input #9) 0x7ffc711ff7f8: [top + 56] <- 0x3bccd3c02311 ; 0x3bccd3c02311 (input #10) 0x7ffc711ff7f0: [top + 48] <- 0x3bccd3c02311 ; 0x3bccd3c02311 (input #11) 0x7ffc711ff7e8: [top + 40] <- 0x3bccd3c02311 ; 0x3bccd3c02311 (input #12) 0x7ffc711ff7e0: [top + 32] <- 0x3bccd3c02311 ; 0x3bccd3c02311 (input #13) 0x7ffc711ff7d8: [top + 24] <- 0x3bccd3c02311 ; 0x3bccd3c02311 (input #14) 0x7ffc711ff7d0: [top + 16] <- 0x3bccd3c02311 ; 0x3bccd3c02311 (input #15) 0x7ffc711ff7c8: [top + 8] <- 0x3bccd3c02489 ; 0x3bccd3c02489 (input #16) 0x7ffc711ff7c0: [top + 0] <- 0x3bccd3c02311 ; 0x3bccd3c02311 (input #17) [deoptimizing (eager): end 0x3d7d93c3de39 @2 => node=4, pc=0x2f8b1d99b5f1, caller sp=0x7ffc711ff860, state=NO_REGISTERS, took 0.238 ms] Materialization [0x7ffc711ff7c8] <- 0xdae62b5f1f9 ; 0xdae62b5f1f9 [removing optimized code for: 0x3d7d93c3de39 ] [evicting entry from optimizing code map (notify deoptimized) for 0x3d7d93c3c8b9 ] streams/readable-bigread.js n=1000: 544.0521844757741 ```
vsemozhetbyt commented 7 years ago
crypto: ``` improvement confidence p.value crypto\\aes-gcm-throughput.js len=1024 cipher="aes-128-gcm" n=500 -1.34 % 2.008362e-01 crypto\\aes-gcm-throughput.js len=1024 cipher="aes-192-gcm" n=500 -1.76 % *** 6.105588e-05 crypto\\aes-gcm-throughput.js len=1024 cipher="aes-256-gcm" n=500 -0.49 % 1.088602e-01 crypto\\aes-gcm-throughput.js len=1048576 cipher="aes-128-gcm" n=500 0.01 % 8.729326e-01 crypto\\aes-gcm-throughput.js len=1048576 cipher="aes-192-gcm" n=500 0.01 % 7.609731e-01 crypto\\aes-gcm-throughput.js len=1048576 cipher="aes-256-gcm" n=500 0.00 % 8.910439e-01 crypto\\aes-gcm-throughput.js len=16384 cipher="aes-128-gcm" n=500 -0.33 % ** 3.563550e-03 crypto\\aes-gcm-throughput.js len=16384 cipher="aes-192-gcm" n=500 -0.23 % * 2.752174e-02 crypto\\aes-gcm-throughput.js len=16384 cipher="aes-256-gcm" n=500 -0.23 % * 1.518756e-02 crypto\\aes-gcm-throughput.js len=262144 cipher="aes-128-gcm" n=500 -0.01 % 8.661866e-01 crypto\\aes-gcm-throughput.js len=262144 cipher="aes-192-gcm" n=500 0.02 % 5.514443e-01 crypto\\aes-gcm-throughput.js len=262144 cipher="aes-256-gcm" n=500 -0.01 % 8.078032e-01 crypto\\aes-gcm-throughput.js len=4096 cipher="aes-128-gcm" n=500 -0.75 % ** 3.928503e-03 crypto\\aes-gcm-throughput.js len=4096 cipher="aes-192-gcm" n=500 -0.51 % * 1.274996e-02 crypto\\aes-gcm-throughput.js len=4096 cipher="aes-256-gcm" n=500 -0.23 % 8.112453e-02 crypto\\aes-gcm-throughput.js len=65536 cipher="aes-128-gcm" n=500 -0.06 % 2.579998e-01 crypto\\aes-gcm-throughput.js len=65536 cipher="aes-192-gcm" n=500 -0.13 % ** 2.475176e-03 crypto\\aes-gcm-throughput.js len=65536 cipher="aes-256-gcm" n=500 -0.14 % 6.502890e-02 crypto\\cipher-stream.js api="legacy" len=1024 type="asc" cipher="AES192" writes=500 -2.27 % ** 4.322578e-03 crypto\\cipher-stream.js api="legacy" len=1024 type="asc" cipher="AES256" writes=500 -2.03 % ** 1.164358e-03 crypto\\cipher-stream.js api="legacy" len=1024 type="buf" cipher="AES192" writes=500 -0.32 % 6.765303e-01 crypto\\cipher-stream.js api="legacy" len=1024 type="buf" cipher="AES256" writes=500 -1.28 % 1.146873e-01 crypto\\cipher-stream.js api="legacy" len=1024 type="utf" cipher="AES192" writes=500 -1.96 % *** 6.367061e-04 crypto\\cipher-stream.js api="legacy" len=1024 type="utf" cipher="AES256" writes=500 -2.49 % *** 1.820829e-04 crypto\\cipher-stream.js api="legacy" len=102400 type="asc" cipher="AES192" writes=500 0.06 % 2.687392e-01 crypto\\cipher-stream.js api="legacy" len=102400 type="asc" cipher="AES256" writes=500 0.03 % 5.501526e-01 crypto\\cipher-stream.js api="legacy" len=102400 type="buf" cipher="AES192" writes=500 -0.06 % 4.551686e-01 crypto\\cipher-stream.js api="legacy" len=102400 type="buf" cipher="AES256" writes=500 0.04 % 6.114770e-01 crypto\\cipher-stream.js api="legacy" len=102400 type="utf" cipher="AES192" writes=500 0.27 % * 4.199251e-02 crypto\\cipher-stream.js api="legacy" len=102400 type="utf" cipher="AES256" writes=500 -0.05 % 7.176492e-01 crypto\\cipher-stream.js api="legacy" len=1048576 type="asc" cipher="AES192" writes=500 0.05 % 3.266881e-01 crypto\\cipher-stream.js api="legacy" len=1048576 type="asc" cipher="AES256" writes=500 -0.00 % 9.687600e-01 crypto\\cipher-stream.js api="legacy" len=1048576 type="buf" cipher="AES192" writes=500 0.01 % 9.070688e-01 crypto\\cipher-stream.js api="legacy" len=1048576 type="buf" cipher="AES256" writes=500 -0.06 % 1.409447e-01 crypto\\cipher-stream.js api="legacy" len=1048576 type="utf" cipher="AES192" writes=500 0.07 % 1.516167e-01 crypto\\cipher-stream.js api="legacy" len=1048576 type="utf" cipher="AES256" writes=500 0.04 % 3.967762e-01 crypto\\cipher-stream.js api="legacy" len=2 type="asc" cipher="AES192" writes=500 5.54 % *** 2.578368e-11 crypto\\cipher-stream.js api="legacy" len=2 type="asc" cipher="AES256" writes=500 3.42 % *** 6.892730e-04 crypto\\cipher-stream.js api="legacy" len=2 type="buf" cipher="AES192" writes=500 8.90 % *** 1.607449e-09 crypto\\cipher-stream.js api="legacy" len=2 type="buf" cipher="AES256" writes=500 8.68 % *** 2.559520e-11 crypto\\cipher-stream.js api="legacy" len=2 type="utf" cipher="AES192" writes=500 6.22 % *** 1.322188e-04 crypto\\cipher-stream.js api="legacy" len=2 type="utf" cipher="AES256" writes=500 7.73 % *** 2.883640e-07 crypto\\cipher-stream.js api="stream" len=1024 type="asc" cipher="AES192" writes=500 37.75 % *** 7.868070e-55 crypto\\cipher-stream.js api="stream" len=1024 type="asc" cipher="AES256" writes=500 35.00 % *** 5.729272e-48 crypto\\cipher-stream.js api="stream" len=1024 type="buf" cipher="AES192" writes=500 38.44 % *** 7.777798e-55 crypto\\cipher-stream.js api="stream" len=1024 type="buf" cipher="AES256" writes=500 38.12 % *** 7.210712e-36 crypto\\cipher-stream.js api="stream" len=1024 type="utf" cipher="AES192" writes=500 35.99 % *** 3.588144e-40 crypto\\cipher-stream.js api="stream" len=1024 type="utf" cipher="AES256" writes=500 34.08 % *** 3.980118e-42 crypto\\cipher-stream.js api="stream" len=102400 type="asc" cipher="AES192" writes=500 0.55 % *** 6.049083e-11 crypto\\cipher-stream.js api="stream" len=102400 type="asc" cipher="AES256" writes=500 0.40 % *** 5.015076e-10 crypto\\cipher-stream.js api="stream" len=102400 type="buf" cipher="AES192" writes=500 1.27 % *** 1.261991e-16 crypto\\cipher-stream.js api="stream" len=102400 type="buf" cipher="AES256" writes=500 0.99 % *** 2.337270e-12 crypto\\cipher-stream.js api="stream" len=102400 type="utf" cipher="AES192" writes=500 1.79 % *** 1.193247e-33 crypto\\cipher-stream.js api="stream" len=102400 type="utf" cipher="AES256" writes=500 1.57 % *** 1.972025e-31 crypto\\cipher-stream.js api="stream" len=1048576 type="asc" cipher="AES192" writes=500 0.11 % ** 8.772521e-03 crypto\\cipher-stream.js api="stream" len=1048576 type="asc" cipher="AES256" writes=500 0.17 % *** 1.635410e-05 crypto\\cipher-stream.js api="stream" len=1048576 type="buf" cipher="AES192" writes=500 0.30 % *** 6.311005e-05 crypto\\cipher-stream.js api="stream" len=1048576 type="buf" cipher="AES256" writes=500 0.21 % *** 1.587788e-06 crypto\\cipher-stream.js api="stream" len=1048576 type="utf" cipher="AES192" writes=500 -0.00 % 9.682333e-01 crypto\\cipher-stream.js api="stream" len=1048576 type="utf" cipher="AES256" writes=500 0.18 % *** 6.529919e-04 crypto\\cipher-stream.js api="stream" len=2 type="asc" cipher="AES192" writes=500 88.27 % *** 1.695861e-29 crypto\\cipher-stream.js api="stream" len=2 type="asc" cipher="AES256" writes=500 90.60 % *** 5.931321e-51 crypto\\cipher-stream.js api="stream" len=2 type="buf" cipher="AES192" writes=500 99.13 % *** 7.507449e-58 crypto\\cipher-stream.js api="stream" len=2 type="buf" cipher="AES256" writes=500 101.35 % *** 5.881141e-46 crypto\\cipher-stream.js api="stream" len=2 type="utf" cipher="AES192" writes=500 97.00 % *** 7.438330e-69 crypto\\cipher-stream.js api="stream" len=2 type="utf" cipher="AES256" writes=500 90.22 % *** 4.998708e-28 crypto\\get-ciphers.js v="crypto" n=1 15.29 % ** 1.758208e-03 crypto\\get-ciphers.js v="crypto" n=5000 -11.54 % *** 2.136780e-18 crypto\\get-ciphers.js v="tls" n=1 5.83 % * 4.146339e-02 crypto\\get-ciphers.js v="tls" n=5000 -12.78 % *** 2.473264e-26 crypto\\hash-stream-creation.js api="legacy" len=1024 out="binary" type="asc" algo="md5" writes=500 8.61 % *** 4.445789e-13 crypto\\hash-stream-creation.js api="legacy" len=1024 out="binary" type="asc" algo="sha256" writes=500 10.33 % *** 3.100697e-14 crypto\\hash-stream-creation.js api="legacy" len=1024 out="binary" type="buf" algo="md5" writes=500 12.61 % *** 3.827775e-13 crypto\\hash-stream-creation.js api="legacy" len=1024 out="binary" type="buf" algo="sha256" writes=500 12.36 % *** 3.089916e-20 crypto\\hash-stream-creation.js api="legacy" len=1024 out="binary" type="utf" algo="md5" writes=500 7.33 % *** 1.377767e-11 crypto\\hash-stream-creation.js api="legacy" len=1024 out="binary" type="utf" algo="sha256" writes=500 5.64 % *** 1.377005e-13 crypto\\hash-stream-creation.js api="legacy" len=1024 out="buffer" type="asc" algo="md5" writes=500 7.95 % *** 1.144126e-08 crypto\\hash-stream-creation.js api="legacy" len=1024 out="buffer" type="asc" algo="sha256" writes=500 4.28 % *** 1.960466e-08 crypto\\hash-stream-creation.js api="legacy" len=1024 out="buffer" type="buf" algo="md5" writes=500 7.25 % *** 2.335139e-14 crypto\\hash-stream-creation.js api="legacy" len=1024 out="buffer" type="buf" algo="sha256" writes=500 6.96 % *** 6.526236e-13 crypto\\hash-stream-creation.js api="legacy" len=1024 out="buffer" type="utf" algo="md5" writes=500 2.45 % 5.100459e-02 crypto\\hash-stream-creation.js api="legacy" len=1024 out="buffer" type="utf" algo="sha256" writes=500 3.90 % *** 5.013426e-06 crypto\\hash-stream-creation.js api="legacy" len=1024 out="hex" type="asc" algo="md5" writes=500 13.90 % *** 4.209863e-13 crypto\\hash-stream-creation.js api="legacy" len=1024 out="hex" type="asc" algo="sha256" writes=500 5.60 % *** 6.627797e-05 crypto\\hash-stream-creation.js api="legacy" len=1024 out="hex" type="buf" algo="md5" writes=500 15.32 % *** 2.948900e-27 crypto\\hash-stream-creation.js api="legacy" len=1024 out="hex" type="buf" algo="sha256" writes=500 11.48 % *** 1.054817e-26 crypto\\hash-stream-creation.js api="legacy" len=1024 out="hex" type="utf" algo="md5" writes=500 9.51 % *** 5.914156e-14 crypto\\hash-stream-creation.js api="legacy" len=1024 out="hex" type="utf" algo="sha256" writes=500 8.52 % *** 5.624055e-14 crypto\\hash-stream-creation.js api="legacy" len=102400 out="binary" type="asc" algo="md5" writes=500 0.50 % *** 5.938825e-04 crypto\\hash-stream-creation.js api="legacy" len=102400 out="binary" type="asc" algo="sha256" writes=500 0.07 % 5.037972e-01 crypto\\hash-stream-creation.js api="legacy" len=102400 out="binary" type="buf" algo="md5" writes=500 0.47 % ** 1.827676e-03 crypto\\hash-stream-creation.js api="legacy" len=102400 out="binary" type="buf" algo="sha256" writes=500 0.13 % 2.197848e-01 crypto\\hash-stream-creation.js api="legacy" len=102400 out="binary" type="utf" algo="md5" writes=500 0.11 % 3.048700e-01 crypto\\hash-stream-creation.js api="legacy" len=102400 out="binary" type="utf" algo="sha256" writes=500 0.14 % 6.242277e-02 crypto\\hash-stream-creation.js api="legacy" len=102400 out="buffer" type="asc" algo="md5" writes=500 0.01 % 9.354604e-01 crypto\\hash-stream-creation.js api="legacy" len=102400 out="buffer" type="asc" algo="sha256" writes=500 0.01 % 9.351803e-01 crypto\\hash-stream-creation.js api="legacy" len=102400 out="buffer" type="buf" algo="md5" writes=500 0.31 % * 1.153133e-02 crypto\\hash-stream-creation.js api="legacy" len=102400 out="buffer" type="buf" algo="sha256" writes=500 0.02 % 8.597603e-01 crypto\\hash-stream-creation.js api="legacy" len=102400 out="buffer" type="utf" algo="md5" writes=500 0.21 % 2.860554e-01 crypto\\hash-stream-creation.js api="legacy" len=102400 out="buffer" type="utf" algo="sha256" writes=500 -0.38 % 3.563223e-01 crypto\\hash-stream-creation.js api="legacy" len=102400 out="hex" type="asc" algo="md5" writes=500 0.06 % 6.448463e-01 crypto\\hash-stream-creation.js api="legacy" len=102400 out="hex" type="asc" algo="sha256" writes=500 0.05 % 6.152511e-01 crypto\\hash-stream-creation.js api="legacy" len=102400 out="hex" type="buf" algo="md5" writes=500 0.59 % *** 1.713979e-05 crypto\\hash-stream-creation.js api="legacy" len=102400 out="hex" type="buf" algo="sha256" writes=500 0.14 % 4.088846e-01 crypto\\hash-stream-creation.js api="legacy" len=102400 out="hex" type="utf" algo="md5" writes=500 0.16 % 1.399331e-01 crypto\\hash-stream-creation.js api="legacy" len=102400 out="hex" type="utf" algo="sha256" writes=500 0.12 % 2.829152e-01 crypto\\hash-stream-creation.js api="legacy" len=1048576 out="binary" type="asc" algo="md5" writes=500 -0.12 % 1.761382e-01 crypto\\hash-stream-creation.js api="legacy" len=1048576 out="binary" type="asc" algo="sha256" writes=500 -0.08 % 6.375372e-02 crypto\\hash-stream-creation.js api="legacy" len=1048576 out="binary" type="buf" algo="md5" writes=500 0.06 % 3.900720e-01 crypto\\hash-stream-creation.js api="legacy" len=1048576 out="binary" type="buf" algo="sha256" writes=500 -0.28 % 5.014478e-02 crypto\\hash-stream-creation.js api="legacy" len=1048576 out="binary" type="utf" algo="md5" writes=500 -0.19 % 9.346442e-02 crypto\\hash-stream-creation.js api="legacy" len=1048576 out="binary" type="utf" algo="sha256" writes=500 -0.14 % * 1.130010e-02 crypto\\hash-stream-creation.js api="legacy" len=1048576 out="buffer" type="asc" algo="md5" writes=500 -0.11 % 1.524351e-01 crypto\\hash-stream-creation.js api="legacy" len=1048576 out="buffer" type="asc" algo="sha256" writes=500 -0.15 % ** 3.876734e-03 crypto\\hash-stream-creation.js api="legacy" len=1048576 out="buffer" type="buf" algo="md5" writes=500 -0.19 % *** 1.651618e-04 crypto\\hash-stream-creation.js api="legacy" len=1048576 out="buffer" type="buf" algo="sha256" writes=500 -0.18 % * 1.208016e-02 crypto\\hash-stream-creation.js api="legacy" len=1048576 out="buffer" type="utf" algo="md5" writes=500 -0.12 % * 2.766830e-02 crypto\\hash-stream-creation.js api="legacy" len=1048576 out="buffer" type="utf" algo="sha256" writes=500 -0.40 % 9.624380e-02 crypto\\hash-stream-creation.js api="legacy" len=1048576 out="hex" type="asc" algo="md5" writes=500 -0.01 % 9.311843e-01 crypto\\hash-stream-creation.js api="legacy" len=1048576 out="hex" type="asc" algo="sha256" writes=500 -0.19 % ** 3.075457e-03 crypto\\hash-stream-creation.js api="legacy" len=1048576 out="hex" type="buf" algo="md5" writes=500 0.01 % 8.336304e-01 crypto\\hash-stream-creation.js api="legacy" len=1048576 out="hex" type="buf" algo="sha256" writes=500 -0.23 % * 4.322421e-02 crypto\\hash-stream-creation.js api="legacy" len=1048576 out="hex" type="utf" algo="md5" writes=500 -0.21 % * 3.700578e-02 crypto\\hash-stream-creation.js api="legacy" len=1048576 out="hex" type="utf" algo="sha256" writes=500 -0.19 % *** 2.262816e-04 crypto\\hash-stream-creation.js api="legacy" len=2 out="binary" type="asc" algo="md5" writes=500 13.65 % *** 1.698852e-12 crypto\\hash-stream-creation.js api="legacy" len=2 out="binary" type="asc" algo="sha256" writes=500 11.70 % *** 4.506819e-09 crypto\\hash-stream-creation.js api="legacy" len=2 out="binary" type="buf" algo="md5" writes=500 14.49 % *** 1.069548e-15 crypto\\hash-stream-creation.js api="legacy" len=2 out="binary" type="buf" algo="sha256" writes=500 15.73 % *** 1.086340e-13 crypto\\hash-stream-creation.js api="legacy" len=2 out="binary" type="utf" algo="md5" writes=500 12.82 % *** 5.458121e-13 crypto\\hash-stream-creation.js api="legacy" len=2 out="binary" type="utf" algo="sha256" writes=500 12.38 % *** 7.427945e-16 crypto\\hash-stream-creation.js api="legacy" len=2 out="buffer" type="asc" algo="md5" writes=500 6.95 % *** 3.609112e-09 crypto\\hash-stream-creation.js api="legacy" len=2 out="buffer" type="asc" algo="sha256" writes=500 7.82 % *** 7.002135e-09 crypto\\hash-stream-creation.js api="legacy" len=2 out="buffer" type="buf" algo="md5" writes=500 7.37 % *** 7.894505e-09 crypto\\hash-stream-creation.js api="legacy" len=2 out="buffer" type="buf" algo="sha256" writes=500 9.37 % *** 5.652820e-10 crypto\\hash-stream-creation.js api="legacy" len=2 out="buffer" type="utf" algo="md5" writes=500 7.48 % *** 2.174667e-13 crypto\\hash-stream-creation.js api="legacy" len=2 out="buffer" type="utf" algo="sha256" writes=500 9.62 % *** 3.523841e-10 crypto\\hash-stream-creation.js api="legacy" len=2 out="hex" type="asc" algo="md5" writes=500 15.53 % *** 1.817075e-11 crypto\\hash-stream-creation.js api="legacy" len=2 out="hex" type="asc" algo="sha256" writes=500 17.23 % *** 9.297594e-21 crypto\\hash-stream-creation.js api="legacy" len=2 out="hex" type="buf" algo="md5" writes=500 17.99 % *** 2.242151e-24 crypto\\hash-stream-creation.js api="legacy" len=2 out="hex" type="buf" algo="sha256" writes=500 21.27 % *** 4.644569e-20 crypto\\hash-stream-creation.js api="legacy" len=2 out="hex" type="utf" algo="md5" writes=500 14.70 % *** 5.518580e-22 crypto\\hash-stream-creation.js api="legacy" len=2 out="hex" type="utf" algo="sha256" writes=500 17.34 % *** 1.027407e-17 crypto\\hash-stream-creation.js api="stream" len=1024 out="binary" type="asc" algo="md5" writes=500 43.58 % *** 3.218892e-57 crypto\\hash-stream-creation.js api="stream" len=1024 out="binary" type="asc" algo="sha256" writes=500 41.21 % *** 1.284450e-52 crypto\\hash-stream-creation.js api="stream" len=1024 out="binary" type="buf" algo="md5" writes=500 42.94 % *** 5.088858e-48 crypto\\hash-stream-creation.js api="stream" len=1024 out="binary" type="buf" algo="sha256" writes=500 40.12 % *** 2.242535e-50 crypto\\hash-stream-creation.js api="stream" len=1024 out="binary" type="utf" algo="md5" writes=500 39.91 % *** 6.941887e-44 crypto\\hash-stream-creation.js api="stream" len=1024 out="binary" type="utf" algo="sha256" writes=500 38.48 % *** 5.735116e-47 crypto\\hash-stream-creation.js api="stream" len=1024 out="buffer" type="asc" algo="md5" writes=500 34.82 % *** 3.472023e-45 crypto\\hash-stream-creation.js api="stream" len=1024 out="buffer" type="asc" algo="sha256" writes=500 32.94 % *** 1.279428e-51 crypto\\hash-stream-creation.js api="stream" len=1024 out="buffer" type="buf" algo="md5" writes=500 35.03 % *** 7.143992e-46 crypto\\hash-stream-creation.js api="stream" len=1024 out="buffer" type="buf" algo="sha256" writes=500 31.56 % *** 5.478611e-61 crypto\\hash-stream-creation.js api="stream" len=1024 out="buffer" type="utf" algo="md5" writes=500 32.15 % *** 1.245974e-59 crypto\\hash-stream-creation.js api="stream" len=1024 out="buffer" type="utf" algo="sha256" writes=500 30.46 % *** 6.139746e-46 crypto\\hash-stream-creation.js api="stream" len=1024 out="hex" type="asc" algo="md5" writes=500 43.45 % *** 7.597719e-49 crypto\\hash-stream-creation.js api="stream" len=1024 out="hex" type="asc" algo="sha256" writes=500 42.64 % *** 3.231487e-44 crypto\\hash-stream-creation.js api="stream" len=1024 out="hex" type="buf" algo="md5" writes=500 44.31 % *** 2.302064e-37 crypto\\hash-stream-creation.js api="stream" len=1024 out="hex" type="buf" algo="sha256" writes=500 41.18 % *** 6.470348e-58 crypto\\hash-stream-creation.js api="stream" len=1024 out="hex" type="utf" algo="md5" writes=500 40.12 % *** 3.961598e-54 crypto\\hash-stream-creation.js api="stream" len=1024 out="hex" type="utf" algo="sha256" writes=500 37.90 % *** 5.165523e-57 crypto\\hash-stream-creation.js api="stream" len=102400 out="binary" type="asc" algo="md5" writes=500 15.06 % *** 3.581052e-55 crypto\\hash-stream-creation.js api="stream" len=102400 out="binary" type="asc" algo="sha256" writes=500 6.92 % *** 5.385554e-48 crypto\\hash-stream-creation.js api="stream" len=102400 out="binary" type="buf" algo="md5" writes=500 14.20 % *** 1.316644e-58 crypto\\hash-stream-creation.js api="stream" len=102400 out="binary" type="buf" algo="sha256" writes=500 6.17 % *** 1.015737e-31 crypto\\hash-stream-creation.js api="stream" len=102400 out="binary" type="utf" algo="md5" writes=500 10.90 % *** 1.081533e-56 crypto\\hash-stream-creation.js api="stream" len=102400 out="binary" type="utf" algo="sha256" writes=500 5.84 % *** 1.197593e-43 crypto\\hash-stream-creation.js api="stream" len=102400 out="buffer" type="asc" algo="md5" writes=500 12.36 % *** 5.491091e-37 crypto\\hash-stream-creation.js api="stream" len=102400 out="buffer" type="asc" algo="sha256" writes=500 5.64 % *** 7.518869e-50 crypto\\hash-stream-creation.js api="stream" len=102400 out="buffer" type="buf" algo="md5" writes=500 11.11 % *** 2.461118e-48 crypto\\hash-stream-creation.js api="stream" len=102400 out="buffer" type="buf" algo="sha256" writes=500 4.77 % *** 7.866597e-45 crypto\\hash-stream-creation.js api="stream" len=102400 out="buffer" type="utf" algo="md5" writes=500 8.32 % *** 3.653448e-45 crypto\\hash-stream-creation.js api="stream" len=102400 out="buffer" type="utf" algo="sha256" writes=500 4.21 % *** 4.929195e-18 crypto\\hash-stream-creation.js api="stream" len=102400 out="hex" type="asc" algo="md5" writes=500 15.49 % *** 4.492441e-37 crypto\\hash-stream-creation.js api="stream" len=102400 out="hex" type="asc" algo="sha256" writes=500 6.90 % *** 4.394802e-47 crypto\\hash-stream-creation.js api="stream" len=102400 out="hex" type="buf" algo="md5" writes=500 14.59 % *** 6.145906e-51 crypto\\hash-stream-creation.js api="stream" len=102400 out="hex" type="buf" algo="sha256" writes=500 6.33 % *** 1.995374e-47 crypto\\hash-stream-creation.js api="stream" len=102400 out="hex" type="utf" algo="md5" writes=500 11.13 % *** 6.664507e-53 crypto\\hash-stream-creation.js api="stream" len=102400 out="hex" type="utf" algo="sha256" writes=500 5.61 % *** 1.581784e-53 crypto\\hash-stream-creation.js api="stream" len=1048576 out="binary" type="asc" algo="md5" writes=500 1.32 % *** 5.047128e-30 crypto\\hash-stream-creation.js api="stream" len=1048576 out="binary" type="asc" algo="sha256" writes=500 0.68 % *** 4.429725e-26 crypto\\hash-stream-creation.js api="stream" len=1048576 out="binary" type="buf" algo="md5" writes=500 1.41 % *** 3.984141e-34 crypto\\hash-stream-creation.js api="stream" len=1048576 out="binary" type="buf" algo="sha256" writes=500 0.47 % * 1.429615e-02 crypto\\hash-stream-creation.js api="stream" len=1048576 out="binary" type="utf" algo="md5" writes=500 1.11 % *** 6.640764e-28 crypto\\hash-stream-creation.js api="stream" len=1048576 out="binary" type="utf" algo="sha256" writes=500 0.53 % *** 7.470229e-10 crypto\\hash-stream-creation.js api="stream" len=1048576 out="buffer" type="asc" algo="md5" writes=500 0.96 % *** 2.057387e-11 crypto\\hash-stream-creation.js api="stream" len=1048576 out="buffer" type="asc" algo="sha256" writes=500 0.44 % *** 2.522787e-08 crypto\\hash-stream-creation.js api="stream" len=1048576 out="buffer" type="buf" algo="md5" writes=500 0.99 % *** 1.119083e-31 crypto\\hash-stream-creation.js api="stream" len=1048576 out="buffer" type="buf" algo="sha256" writes=500 0.36 % *** 2.707135e-07 crypto\\hash-stream-creation.js api="stream" len=1048576 out="buffer" type="utf" algo="md5" writes=500 0.75 % *** 2.815775e-16 crypto\\hash-stream-creation.js api="stream" len=1048576 out="buffer" type="utf" algo="sha256" writes=500 0.20 % 4.343580e-01 crypto\\hash-stream-creation.js api="stream" len=1048576 out="hex" type="asc" algo="md5" writes=500 1.40 % *** 6.399642e-30 crypto\\hash-stream-creation.js api="stream" len=1048576 out="hex" type="asc" algo="sha256" writes=500 0.68 % *** 2.016767e-27 crypto\\hash-stream-creation.js api="stream" len=1048576 out="hex" type="buf" algo="md5" writes=500 1.46 % *** 3.341946e-34 crypto\\hash-stream-creation.js api="stream" len=1048576 out="hex" type="buf" algo="sha256" writes=500 0.49 % *** 5.094241e-04 crypto\\hash-stream-creation.js api="stream" len=1048576 out="hex" type="utf" algo="md5" writes=500 1.03 % *** 2.614926e-09 crypto\\hash-stream-creation.js api="stream" len=1048576 out="hex" type="utf" algo="sha256" writes=500 0.64 % *** 9.948626e-18 crypto\\hash-stream-creation.js api="stream" len=2 out="binary" type="asc" algo="md5" writes=500 43.87 % *** 1.212104e-53 crypto\\hash-stream-creation.js api="stream" len=2 out="binary" type="asc" algo="sha256" writes=500 44.09 % *** 4.647810e-61 crypto\\hash-stream-creation.js api="stream" len=2 out="binary" type="buf" algo="md5" writes=500 43.66 % *** 2.219082e-53 crypto\\hash-stream-creation.js api="stream" len=2 out="binary" type="buf" algo="sha256" writes=500 43.80 % *** 1.241209e-50 crypto\\hash-stream-creation.js api="stream" len=2 out="binary" type="utf" algo="md5" writes=500 44.25 % *** 1.007903e-42 crypto\\hash-stream-creation.js api="stream" len=2 out="binary" type="utf" algo="sha256" writes=500 43.85 % *** 3.018415e-60 crypto\\hash-stream-creation.js api="stream" len=2 out="buffer" type="asc" algo="md5" writes=500 36.00 % *** 2.107011e-61 crypto\\hash-stream-creation.js api="stream" len=2 out="buffer" type="asc" algo="sha256" writes=500 36.20 % *** 1.014837e-52 crypto\\hash-stream-creation.js api="stream" len=2 out="buffer" type="buf" algo="md5" writes=500 34.42 % *** 1.011169e-53 crypto\\hash-stream-creation.js api="stream" len=2 out="buffer" type="buf" algo="sha256" writes=500 35.55 % *** 7.331135e-48 crypto\\hash-stream-creation.js api="stream" len=2 out="buffer" type="utf" algo="md5" writes=500 37.11 % *** 1.059485e-57 crypto\\hash-stream-creation.js api="stream" len=2 out="buffer" type="utf" algo="sha256" writes=500 37.41 % *** 2.303535e-44 crypto\\hash-stream-creation.js api="stream" len=2 out="hex" type="asc" algo="md5" writes=500 44.57 % *** 1.601546e-59 crypto\\hash-stream-creation.js api="stream" len=2 out="hex" type="asc" algo="sha256" writes=500 44.15 % *** 4.800232e-64 crypto\\hash-stream-creation.js api="stream" len=2 out="hex" type="buf" algo="md5" writes=500 44.32 % *** 8.178802e-59 crypto\\hash-stream-creation.js api="stream" len=2 out="hex" type="buf" algo="sha256" writes=500 43.25 % *** 5.844831e-51 crypto\\hash-stream-creation.js api="stream" len=2 out="hex" type="utf" algo="md5" writes=500 45.70 % *** 1.640590e-47 crypto\\hash-stream-creation.js api="stream" len=2 out="hex" type="utf" algo="sha256" writes=500 45.09 % *** 9.060953e-54 crypto\\hash-stream-throughput.js api="legacy" len=1024 type="asc" algo="sha1" writes=500 4.19 % 1.144347e-01 crypto\\hash-stream-throughput.js api="legacy" len=1024 type="asc" algo="sha256" writes=500 2.32 % 2.237904e-01 crypto\\hash-stream-throughput.js api="legacy" len=1024 type="asc" algo="sha512" writes=500 10.15 % *** 1.131800e-07 crypto\\hash-stream-throughput.js api="legacy" len=1024 type="buf" algo="sha1" writes=500 15.41 % *** 7.566544e-08 crypto\\hash-stream-throughput.js api="legacy" len=1024 type="buf" algo="sha256" writes=500 6.01 % *** 5.591579e-05 crypto\\hash-stream-throughput.js api="legacy" len=1024 type="buf" algo="sha512" writes=500 12.44 % *** 2.465006e-07 crypto\\hash-stream-throughput.js api="legacy" len=1024 type="utf" algo="sha1" writes=500 9.43 % *** 3.527307e-05 crypto\\hash-stream-throughput.js api="legacy" len=1024 type="utf" algo="sha256" writes=500 4.93 % ** 1.626553e-03 crypto\\hash-stream-throughput.js api="legacy" len=1024 type="utf" algo="sha512" writes=500 10.22 % *** 4.034003e-04 crypto\\hash-stream-throughput.js api="legacy" len=102400 type="asc" algo="sha1" writes=500 0.35 % 6.033025e-01 crypto\\hash-stream-throughput.js api="legacy" len=102400 type="asc" algo="sha256" writes=500 -0.04 % 9.475377e-01 crypto\\hash-stream-throughput.js api="legacy" len=102400 type="asc" algo="sha512" writes=500 0.88 % 1.366263e-01 crypto\\hash-stream-throughput.js api="legacy" len=102400 type="buf" algo="sha1" writes=500 -0.21 % 7.275329e-01 crypto\\hash-stream-throughput.js api="legacy" len=102400 type="buf" algo="sha256" writes=500 0.01 % 9.865765e-01 crypto\\hash-stream-throughput.js api="legacy" len=102400 type="buf" algo="sha512" writes=500 0.26 % 6.849348e-01 crypto\\hash-stream-throughput.js api="legacy" len=102400 type="utf" algo="sha1" writes=500 -0.31 % 6.419916e-01 crypto\\hash-stream-throughput.js api="legacy" len=102400 type="utf" algo="sha256" writes=500 0.10 % 8.681219e-01 crypto\\hash-stream-throughput.js api="legacy" len=102400 type="utf" algo="sha512" writes=500 0.11 % 8.615542e-01 crypto\\hash-stream-throughput.js api="legacy" len=1048576 type="asc" algo="sha1" writes=500 -0.29 % 7.791558e-01 crypto\\hash-stream-throughput.js api="legacy" len=1048576 type="asc" algo="sha256" writes=500 -0.04 % 9.588757e-01 crypto\\hash-stream-throughput.js api="legacy" len=1048576 type="asc" algo="sha512" writes=500 0.60 % 5.383546e-01 crypto\\hash-stream-throughput.js api="legacy" len=1048576 type="buf" algo="sha1" writes=500 -0.36 % 6.110111e-01 crypto\\hash-stream-throughput.js api="legacy" len=1048576 type="buf" algo="sha256" writes=500 0.16 % 7.905428e-01 crypto\\hash-stream-throughput.js api="legacy" len=1048576 type="buf" algo="sha512" writes=500 0.49 % 5.336388e-01 crypto\\hash-stream-throughput.js api="legacy" len=1048576 type="utf" algo="sha1" writes=500 -0.71 % 3.925651e-01 crypto\\hash-stream-throughput.js api="legacy" len=1048576 type="utf" algo="sha256" writes=500 -0.16 % 8.075720e-01 crypto\\hash-stream-throughput.js api="legacy" len=1048576 type="utf" algo="sha512" writes=500 0.22 % 7.612138e-01 crypto\\hash-stream-throughput.js api="legacy" len=2 type="asc" algo="sha1" writes=500 30.15 % *** 1.705945e-11 crypto\\hash-stream-throughput.js api="legacy" len=2 type="asc" algo="sha256" writes=500 36.19 % *** 2.757825e-18 crypto\\hash-stream-throughput.js api="legacy" len=2 type="asc" algo="sha512" writes=500 37.67 % *** 9.266523e-21 crypto\\hash-stream-throughput.js api="legacy" len=2 type="buf" algo="sha1" writes=500 35.55 % *** 1.280007e-19 crypto\\hash-stream-throughput.js api="legacy" len=2 type="buf" algo="sha256" writes=500 48.51 % *** 3.834287e-23 crypto\\hash-stream-throughput.js api="legacy" len=2 type="buf" algo="sha512" writes=500 42.60 % *** 1.036161e-16 crypto\\hash-stream-throughput.js api="legacy" len=2 type="utf" algo="sha1" writes=500 29.83 % *** 2.516428e-10 crypto\\hash-stream-throughput.js api="legacy" len=2 type="utf" algo="sha256" writes=500 31.18 % *** 1.017236e-12 crypto\\hash-stream-throughput.js api="legacy" len=2 type="utf" algo="sha512" writes=500 29.18 % *** 6.391591e-23 crypto\\hash-stream-throughput.js api="stream" len=1024 type="asc" algo="sha1" writes=500 56.56 % *** 1.142683e-34 crypto\\hash-stream-throughput.js api="stream" len=1024 type="asc" algo="sha256" writes=500 42.83 % *** 1.216684e-26 crypto\\hash-stream-throughput.js api="stream" len=1024 type="asc" algo="sha512" writes=500 47.28 % *** 1.884919e-26 crypto\\hash-stream-throughput.js api="stream" len=1024 type="buf" algo="sha1" writes=500 49.24 % *** 9.869158e-27 crypto\\hash-stream-throughput.js api="stream" len=1024 type="buf" algo="sha256" writes=500 41.01 % *** 3.283403e-30 crypto\\hash-stream-throughput.js api="stream" len=1024 type="buf" algo="sha512" writes=500 50.51 % *** 1.608730e-31 crypto\\hash-stream-throughput.js api="stream" len=1024 type="utf" algo="sha1" writes=500 46.96 % *** 4.263772e-34 crypto\\hash-stream-throughput.js api="stream" len=1024 type="utf" algo="sha256" writes=500 38.66 % *** 2.629644e-31 crypto\\hash-stream-throughput.js api="stream" len=1024 type="utf" algo="sha512" writes=500 45.28 % *** 3.580402e-35 crypto\\hash-stream-throughput.js api="stream" len=102400 type="asc" algo="sha1" writes=500 4.43 % *** 2.881191e-06 crypto\\hash-stream-throughput.js api="stream" len=102400 type="asc" algo="sha256" writes=500 1.77 % ** 8.006636e-03 crypto\\hash-stream-throughput.js api="stream" len=102400 type="asc" algo="sha512" writes=500 3.25 % *** 7.428171e-06 crypto\\hash-stream-throughput.js api="stream" len=102400 type="buf" algo="sha1" writes=500 3.39 % *** 1.105555e-05 crypto\\hash-stream-throughput.js api="stream" len=102400 type="buf" algo="sha256" writes=500 1.90 % ** 1.979172e-03 crypto\\hash-stream-throughput.js api="stream" len=102400 type="buf" algo="sha512" writes=500 3.02 % *** 2.916353e-05 crypto\\hash-stream-throughput.js api="stream" len=102400 type="utf" algo="sha1" writes=500 2.59 % *** 7.138457e-04 crypto\\hash-stream-throughput.js api="stream" len=102400 type="utf" algo="sha256" writes=500 1.65 % * 1.537734e-02 crypto\\hash-stream-throughput.js api="stream" len=102400 type="utf" algo="sha512" writes=500 2.15 % ** 3.199890e-03 crypto\\hash-stream-throughput.js api="stream" len=1048576 type="asc" algo="sha1" writes=500 -0.02 % 9.831266e-01 crypto\\hash-stream-throughput.js api="stream" len=1048576 type="asc" algo="sha256" writes=500 -0.07 % 9.224397e-01 crypto\\hash-stream-throughput.js api="stream" len=1048576 type="asc" algo="sha512" writes=500 0.36 % 6.819977e-01 crypto\\hash-stream-throughput.js api="stream" len=1048576 type="buf" algo="sha1" writes=500 -0.08 % 9.126509e-01 crypto\\hash-stream-throughput.js api="stream" len=1048576 type="buf" algo="sha256" writes=500 0.28 % 6.301024e-01 crypto\\hash-stream-throughput.js api="stream" len=1048576 type="buf" algo="sha512" writes=500 0.08 % 8.999421e-01 crypto\\hash-stream-throughput.js api="stream" len=1048576 type="utf" algo="sha1" writes=500 -0.66 % 4.463596e-01 crypto\\hash-stream-throughput.js api="stream" len=1048576 type="utf" algo="sha256" writes=500 -0.10 % 8.744901e-01 crypto\\hash-stream-throughput.js api="stream" len=1048576 type="utf" algo="sha512" writes=500 0.19 % 7.885318e-01 crypto\\hash-stream-throughput.js api="stream" len=2 type="asc" algo="sha1" writes=500 59.31 % *** 1.183113e-29 crypto\\hash-stream-throughput.js api="stream" len=2 type="asc" algo="sha256" writes=500 59.09 % *** 5.506000e-35 crypto\\hash-stream-throughput.js api="stream" len=2 type="asc" algo="sha512" writes=500 57.53 % *** 7.137887e-37 crypto\\hash-stream-throughput.js api="stream" len=2 type="buf" algo="sha1" writes=500 59.43 % *** 7.341969e-33 crypto\\hash-stream-throughput.js api="stream" len=2 type="buf" algo="sha256" writes=500 59.48 % *** 2.124401e-34 crypto\\hash-stream-throughput.js api="stream" len=2 type="buf" algo="sha512" writes=500 59.74 % *** 1.821364e-38 crypto\\hash-stream-throughput.js api="stream" len=2 type="utf" algo="sha1" writes=500 60.75 % *** 5.704288e-32 crypto\\hash-stream-throughput.js api="stream" len=2 type="utf" algo="sha256" writes=500 56.92 % *** 4.113266e-33 crypto\\hash-stream-throughput.js api="stream" len=2 type="utf" algo="sha512" writes=500 61.12 % *** 2.075120e-41 crypto\\rsa-encrypt-decrypt-throughput.js len=16 keylen="1024" n=500 0.94 % ** 7.988899e-03 crypto\\rsa-encrypt-decrypt-throughput.js len=16 keylen="2048" n=500 0.24 % ** 1.666736e-03 crypto\\rsa-encrypt-decrypt-throughput.js len=16 keylen="4096" n=500 0.07 % ** 1.387833e-03 crypto\\rsa-encrypt-decrypt-throughput.js len=32 keylen="1024" n=500 0.58 % *** 1.820095e-06 crypto\\rsa-encrypt-decrypt-throughput.js len=32 keylen="2048" n=500 0.25 % ** 1.742258e-03 crypto\\rsa-encrypt-decrypt-throughput.js len=32 keylen="4096" n=500 0.10 % *** 3.751507e-07 crypto\\rsa-encrypt-decrypt-throughput.js len=64 keylen="1024" n=500 0.59 % *** 4.665673e-06 crypto\\rsa-encrypt-decrypt-throughput.js len=64 keylen="2048" n=500 0.30 % *** 9.037149e-04 crypto\\rsa-encrypt-decrypt-throughput.js len=64 keylen="4096" n=500 0.07 % * 1.548653e-02 crypto\\rsa-sign-verify-throughput.js len=1024 keylen="1024" algo="RSA-SHA1" writes=500 1.99 % * 2.984507e-02 crypto\\rsa-sign-verify-throughput.js len=1024 keylen="1024" algo="RSA-SHA224" writes=500 0.07 % 9.236768e-01 crypto\\rsa-sign-verify-throughput.js len=1024 keylen="1024" algo="RSA-SHA256" writes=500 0.41 % 2.974579e-01 crypto\\rsa-sign-verify-throughput.js len=1024 keylen="1024" algo="RSA-SHA384" writes=500 0.45 % 4.781091e-01 crypto\\rsa-sign-verify-throughput.js len=1024 keylen="1024" algo="RSA-SHA512" writes=500 0.65 % 4.882167e-01 crypto\\rsa-sign-verify-throughput.js len=1024 keylen="2048" algo="RSA-SHA1" writes=500 0.30 % 5.090032e-01 crypto\\rsa-sign-verify-throughput.js len=1024 keylen="2048" algo="RSA-SHA224" writes=500 -0.28 % 5.531249e-01 crypto\\rsa-sign-verify-throughput.js len=1024 keylen="2048" algo="RSA-SHA256" writes=500 0.76 % 1.448666e-01 crypto\\rsa-sign-verify-throughput.js len=1024 keylen="2048" algo="RSA-SHA384" writes=500 -0.11 % 8.421683e-01 crypto\\rsa-sign-verify-throughput.js len=1024 keylen="2048" algo="RSA-SHA512" writes=500 -0.90 % 1.720550e-01 crypto\\rsa-sign-verify-throughput.js len=102400 keylen="1024" algo="RSA-SHA1" writes=500 0.22 % 1.078061e-01 crypto\\rsa-sign-verify-throughput.js len=102400 keylen="1024" algo="RSA-SHA224" writes=500 -0.03 % 7.439467e-01 crypto\\rsa-sign-verify-throughput.js len=102400 keylen="1024" algo="RSA-SHA256" writes=500 0.04 % 5.836619e-01 crypto\\rsa-sign-verify-throughput.js len=102400 keylen="1024" algo="RSA-SHA384" writes=500 0.11 % 8.697242e-02 crypto\\rsa-sign-verify-throughput.js len=102400 keylen="1024" algo="RSA-SHA512" writes=500 0.06 % 3.117497e-01 crypto\\rsa-sign-verify-throughput.js len=102400 keylen="2048" algo="RSA-SHA1" writes=500 0.00 % 9.744399e-01 crypto\\rsa-sign-verify-throughput.js len=102400 keylen="2048" algo="RSA-SHA224" writes=500 0.07 % 2.645868e-01 crypto\\rsa-sign-verify-throughput.js len=102400 keylen="2048" algo="RSA-SHA256" writes=500 0.02 % 8.091833e-01 crypto\\rsa-sign-verify-throughput.js len=102400 keylen="2048" algo="RSA-SHA384" writes=500 0.04 % 4.916818e-01 crypto\\rsa-sign-verify-throughput.js len=102400 keylen="2048" algo="RSA-SHA512" writes=500 0.11 % 9.139755e-02 crypto\\rsa-sign-verify-throughput.js len=1048576 keylen="1024" algo="RSA-SHA1" writes=500 0.02 % 7.408700e-01 crypto\\rsa-sign-verify-throughput.js len=1048576 keylen="1024" algo="RSA-SHA224" writes=500 -0.03 % 5.455385e-01 crypto\\rsa-sign-verify-throughput.js len=1048576 keylen="1024" algo="RSA-SHA256" writes=500 0.04 % 4.639116e-01 crypto\\rsa-sign-verify-throughput.js len=1048576 keylen="1024" algo="RSA-SHA384" writes=500 0.05 % 3.127878e-01 crypto\\rsa-sign-verify-throughput.js len=1048576 keylen="1024" algo="RSA-SHA512" writes=500 0.00 % 8.795085e-01 crypto\\rsa-sign-verify-throughput.js len=1048576 keylen="2048" algo="RSA-SHA1" writes=500 -0.03 % 6.127738e-01 crypto\\rsa-sign-verify-throughput.js len=1048576 keylen="2048" algo="RSA-SHA224" writes=500 -0.04 % 5.246001e-01 crypto\\rsa-sign-verify-throughput.js len=1048576 keylen="2048" algo="RSA-SHA256" writes=500 -0.01 % 8.556170e-01 crypto\\rsa-sign-verify-throughput.js len=1048576 keylen="2048" algo="RSA-SHA384" writes=500 -0.09 % 5.972922e-02 crypto\\rsa-sign-verify-throughput.js len=1048576 keylen="2048" algo="RSA-SHA512" writes=500 0.05 % 2.576516e-01 crypto\\rsa-sign-verify-throughput.js len=204800 keylen="1024" algo="RSA-SHA1" writes=500 0.11 % 3.160240e-01 crypto\\rsa-sign-verify-throughput.js len=204800 keylen="1024" algo="RSA-SHA224" writes=500 0.02 % 8.251159e-01 crypto\\rsa-sign-verify-throughput.js len=204800 keylen="1024" algo="RSA-SHA256" writes=500 -0.04 % 4.231501e-01 crypto\\rsa-sign-verify-throughput.js len=204800 keylen="1024" algo="RSA-SHA384" writes=500 0.12 % 5.339784e-02 crypto\\rsa-sign-verify-throughput.js len=204800 keylen="1024" algo="RSA-SHA512" writes=500 0.16 % * 1.111178e-02 crypto\\rsa-sign-verify-throughput.js len=204800 keylen="2048" algo="RSA-SHA1" writes=500 0.33 % ** 5.724051e-03 crypto\\rsa-sign-verify-throughput.js len=204800 keylen="2048" algo="RSA-SHA224" writes=500 0.16 % 6.032916e-02 crypto\\rsa-sign-verify-throughput.js len=204800 keylen="2048" algo="RSA-SHA256" writes=500 -0.09 % 2.256814e-01 crypto\\rsa-sign-verify-throughput.js len=204800 keylen="2048" algo="RSA-SHA384" writes=500 0.11 % * 4.776867e-02 crypto\\rsa-sign-verify-throughput.js len=204800 keylen="2048" algo="RSA-SHA512" writes=500 0.12 % *** 8.566714e-04 crypto\\rsa-sign-verify-throughput.js len=307200 keylen="1024" algo="RSA-SHA1" writes=500 0.26 % * 1.906740e-02 crypto\\rsa-sign-verify-throughput.js len=307200 keylen="1024" algo="RSA-SHA224" writes=500 -0.07 % 2.494538e-01 crypto\\rsa-sign-verify-throughput.js len=307200 keylen="1024" algo="RSA-SHA256" writes=500 -0.02 % 7.609696e-01 crypto\\rsa-sign-verify-throughput.js len=307200 keylen="1024" algo="RSA-SHA384" writes=500 0.11 % ** 7.942188e-03 crypto\\rsa-sign-verify-throughput.js len=307200 keylen="1024" algo="RSA-SHA512" writes=500 0.09 % * 1.296280e-02 crypto\\rsa-sign-verify-throughput.js len=307200 keylen="2048" algo="RSA-SHA1" writes=500 0.24 % * 1.312968e-02 crypto\\rsa-sign-verify-throughput.js len=307200 keylen="2048" algo="RSA-SHA224" writes=500 0.08 % 2.663300e-01 crypto\\rsa-sign-verify-throughput.js len=307200 keylen="2048" algo="RSA-SHA256" writes=500 -0.02 % 7.764168e-01 crypto\\rsa-sign-verify-throughput.js len=307200 keylen="2048" algo="RSA-SHA384" writes=500 0.10 % ** 7.818043e-03 crypto\\rsa-sign-verify-throughput.js len=307200 keylen="2048" algo="RSA-SHA512" writes=500 0.14 % * 1.273128e-02 ```
targos commented 7 years ago

timers:

                                                    improvement confidence      p.value
 timers/immediate.js type="breadth" thousands=2000      12.76 %        *** 8.348231e-05
 timers/immediate.js type="breadth1" thousands=2000      6.83 %        *** 3.396593e-04
 timers/immediate.js type="breadth4" thousands=2000      1.13 %            6.231323e-01
 timers/immediate.js type="clear" thousands=2000         6.40 %        *** 1.983798e-04
 timers/immediate.js type="depth" thousands=2000         5.43 %        *** 3.101314e-05
 timers/immediate.js type="depth1" thousands=2000        9.83 %        *** 5.083261e-11
 timers/set-immediate-breadth-args.js millions=5        -0.12 %            7.798393e-01
 timers/set-immediate-breadth.js millions=10             3.89 %        *** 7.465471e-15
 timers/set-immediate-depth-args.js millions=10         16.38 %        *** 1.535860e-20
 timers/set-immediate-depth.js millions=10               6.00 %        *** 8.826471e-14
 timers/timers-breadth.js thousands=500                  8.19 %        *** 8.195604e-18
 timers/timers-cancel-pooled.js thousands=500            0.39 %            6.270987e-01
 timers/timers-cancel-unpooled.js thousands=100         -0.17 %        *** 9.034505e-04
 timers/timers-depth.js thousands=1                     -0.25 %            7.790906e-01
 timers/timers-insert-pooled.js thousands=500          -11.42 %        *** 5.366038e-36
 timers/timers-insert-unpooled.js thousands=100         -5.00 %        *** 4.390698e-11
 timers/timers-timeout-pooled.js thousands=500          90.99 %        *** 1.828523e-24
jasnell commented 7 years ago

hmm.. the streams results are interesting because I've been noticing a significant dip in streams performance in master compared to v7 and v6 in general without switching over to --ignition. I'd be curious to know if others have seen the same.

(that dip is really the only thing keeping me from landing the crypto module refactor I had done)

targos commented 7 years ago

@bmeurer One of the tests deoptimizes with TurboFan for a not obvious reason.

According to the log, the problem is located at the ++i on line 29: https://github.com/nodejs/node/blob/master/benchmark/arrays/var-int.js#L29 This does not happen with Crankshaft.

output: ``` [optimizing 0x24cc72054c59 - took 0.329, 0.847, 0.082 ms] [deoptimizing (DEOPT soft): begin 0x24cc72054c59 (opt #0) @16, FP to SP delta: 192, caller sp: 0x7ffc3d1a4598] ;;; deoptimize at , Insufficient type feedback for generic named access reading input frame main => bytecode_offset=134, args=2, height=11; inputs: 0: 0x24cc72054c59 ; [fp - 16] 0x24cc72054c59 1: 0x67814102311 ; [fp + 24] 0x67814102311 2: 0x24cc72073b09 ; [fp + 16] 0x24cc72073b09 3: 0x24cc72054c21 ; [fp - 128] 0x24cc72054c21 4: 0x67814104a41 ; (literal 1) 0x67814104a41 5: 0x67814104a41 ; (literal 1) 0x67814104a41 6: 0x1900000000 ; [fp - 64] 25 7: 0x67814104a41 ; (literal 1) 0x67814104a41 8: 0x67814104a41 ; (literal 1) 0x67814104a41 9: 0x67814104a41 ; (literal 1) 0x67814104a41 10: 0x67814104a41 ; (literal 1) 0x67814104a41 11: 0x67814104a41 ; (literal 1) 0x67814104a41 12: 0x24cc72072f81 ; rbx 0x24cc72072f81 13: 0x67814104a41 ; (literal 1) 0x67814104a41 14: 0x67814104a41 ; (literal 1) 0x67814104a41 translating interpreted frame main => bytecode_offset=134, height=88 0x7ffc3d1a4590: [top + 152] <- 0x67814102311 ; 0x67814102311 (input #1) 0x7ffc3d1a4588: [top + 144] <- 0x24cc72073b09 ; 0x24cc72073b09 (input #2) ------------------------- 0x7ffc3d1a4580: [top + 136] <- 0x25890f407abc ; caller's pc 0x7ffc3d1a4578: [top + 128] <- 0x7ffc3d1a45a0 ; caller's fp 0x7ffc3d1a4570: [top + 120] <- 0x24cc72054c21 ; context 0x24cc72054c21 (input #3) 0x7ffc3d1a4568: [top + 112] <- 0x24cc72054c59 ; function 0x24cc72054c59 (input #0) 0x7ffc3d1a4560: [top + 104] <- 0x67814102311 ; new_target 0x67814102311 (input #0) 0x7ffc3d1a4558: [top + 96] <- 0x3c0461a6ff31 ; bytecode array 0x3c0461a6ff31 (input #0) 0x7ffc3d1a4550: [top + 88] <- 0xbb00000000 ; bytecode offset 187 (input #0) ------------------------- 0x7ffc3d1a4548: [top + 80] <- 0x67814104a41 ; 0x67814104a41 (input #4) 0x7ffc3d1a4540: [top + 72] <- 0x67814104a41 ; 0x67814104a41 (input #5) 0x7ffc3d1a4538: [top + 64] <- 0x1900000000 ; 25 (input #6) 0x7ffc3d1a4530: [top + 56] <- 0x67814104a41 ; 0x67814104a41 (input #7) 0x7ffc3d1a4528: [top + 48] <- 0x67814104a41 ; 0x67814104a41 (input #8) 0x7ffc3d1a4520: [top + 40] <- 0x67814104a41 ; 0x67814104a41 (input #9) 0x7ffc3d1a4518: [top + 32] <- 0x67814104a41 ; 0x67814104a41 (input #10) 0x7ffc3d1a4510: [top + 24] <- 0x67814104a41 ; 0x67814104a41 (input #11) 0x7ffc3d1a4508: [top + 16] <- 0x24cc72072f81 ; 0x24cc72072f81 (input #12) 0x7ffc3d1a4500: [top + 8] <- 0x67814104a41 ; 0x67814104a41 (input #13) 0x7ffc3d1a44f8: [top + 0] <- 0x67814104a41 ; accumulator 0x67814104a41 (input #14) [deoptimizing (soft): end 0x24cc72054c59 @16 => node=134, pc=0x25890f3d1100, caller sp=0x7ffc3d1a4598, state=TOS_REGISTER, took 0.368 ms] ```
vsemozhetbyt commented 7 years ago

TOC added to the first post to find results more quickly (will be updated).

bmeurer commented 7 years ago

@targos That looks weird, given that the relevant line https://github.com/nodejs/node/blob/master/benchmark/arrays/var-int.js#L29 doesn't have any named access. But I also doubt that this deopt is important, it's just a SOFT deopt, so next time main is executed it will be optimized with feedback.

vsemozhetbyt commented 7 years ago
dgram: ``` improvement confidence p.value dgram\\array-vs-concat.js dur=5 type="concat" chunks=1 num=100 len=1024 -4.23 % *** 3.920113e-14 dgram\\array-vs-concat.js dur=5 type="concat" chunks=1 num=100 len=256 -3.84 % *** 8.066887e-15 dgram\\array-vs-concat.js dur=5 type="concat" chunks=1 num=100 len=512 -4.08 % *** 6.403445e-17 dgram\\array-vs-concat.js dur=5 type="concat" chunks=1 num=100 len=64 -4.32 % *** 5.716601e-14 dgram\\array-vs-concat.js dur=5 type="concat" chunks=2 num=100 len=1024 -4.98 % *** 5.928104e-20 dgram\\array-vs-concat.js dur=5 type="concat" chunks=2 num=100 len=256 -4.36 % *** 2.317094e-17 dgram\\array-vs-concat.js dur=5 type="concat" chunks=2 num=100 len=512 -4.35 % *** 1.061233e-12 dgram\\array-vs-concat.js dur=5 type="concat" chunks=2 num=100 len=64 -4.47 % *** 1.955225e-20 dgram\\array-vs-concat.js dur=5 type="concat" chunks=4 num=100 len=1024 -4.23 % *** 2.173462e-15 dgram\\array-vs-concat.js dur=5 type="concat" chunks=4 num=100 len=256 -4.92 % *** 4.417656e-19 dgram\\array-vs-concat.js dur=5 type="concat" chunks=4 num=100 len=512 -5.09 % *** 2.582610e-21 dgram\\array-vs-concat.js dur=5 type="concat" chunks=4 num=100 len=64 -4.86 % *** 3.180004e-16 dgram\\array-vs-concat.js dur=5 type="concat" chunks=8 num=100 len=1024 -5.01 % *** 6.332177e-17 dgram\\array-vs-concat.js dur=5 type="concat" chunks=8 num=100 len=256 -5.37 % *** 3.455632e-22 dgram\\array-vs-concat.js dur=5 type="concat" chunks=8 num=100 len=512 -5.33 % *** 1.215530e-25 dgram\\array-vs-concat.js dur=5 type="concat" chunks=8 num=100 len=64 -6.51 % *** 1.412788e-25 dgram\\array-vs-concat.js dur=5 type="multi" chunks=1 num=100 len=1024 -2.98 % *** 8.665798e-12 dgram\\array-vs-concat.js dur=5 type="multi" chunks=1 num=100 len=256 -2.87 % *** 4.515326e-12 dgram\\array-vs-concat.js dur=5 type="multi" chunks=1 num=100 len=512 -3.05 % *** 2.986855e-15 dgram\\array-vs-concat.js dur=5 type="multi" chunks=1 num=100 len=64 -2.48 % *** 8.536141e-12 dgram\\array-vs-concat.js dur=5 type="multi" chunks=2 num=100 len=1024 -2.83 % *** 3.271695e-11 dgram\\array-vs-concat.js dur=5 type="multi" chunks=2 num=100 len=256 -3.02 % *** 6.813806e-13 dgram\\array-vs-concat.js dur=5 type="multi" chunks=2 num=100 len=512 -2.98 % *** 2.015826e-14 dgram\\array-vs-concat.js dur=5 type="multi" chunks=2 num=100 len=64 -2.79 % *** 3.993081e-14 dgram\\array-vs-concat.js dur=5 type="multi" chunks=4 num=100 len=1024 -3.14 % *** 2.033489e-14 dgram\\array-vs-concat.js dur=5 type="multi" chunks=4 num=100 len=256 -2.75 % *** 8.503702e-13 dgram\\array-vs-concat.js dur=5 type="multi" chunks=4 num=100 len=512 -2.43 % *** 3.545867e-10 dgram\\array-vs-concat.js dur=5 type="multi" chunks=4 num=100 len=64 -2.87 % *** 1.144410e-12 dgram\\array-vs-concat.js dur=5 type="multi" chunks=8 num=100 len=1024 -2.77 % *** 3.465403e-10 dgram\\array-vs-concat.js dur=5 type="multi" chunks=8 num=100 len=256 -2.67 % *** 7.113096e-10 dgram\\array-vs-concat.js dur=5 type="multi" chunks=8 num=100 len=512 -3.05 % *** 2.353899e-14 dgram\\array-vs-concat.js dur=5 type="multi" chunks=8 num=100 len=64 -3.13 % *** 1.868771e-12 dgram\\bind-params.js address="false" port="false" n=10000 -24.78 % *** 4.916431e-32 dgram\\bind-params.js address="false" port="true" n=10000 -23.97 % *** 3.883995e-46 dgram\\bind-params.js address="true" port="true" n=10000 -25.42 % *** 6.722490e-44 dgram\\multi-buffer.js dur=5 type="recv" chunks=1 num=100 len=1024 -3.16 % *** 2.251245e-13 dgram\\multi-buffer.js dur=5 type="recv" chunks=1 num=100 len=256 -3.14 % *** 1.286879e-13 dgram\\multi-buffer.js dur=5 type="recv" chunks=1 num=100 len=64 -3.37 % *** 2.684892e-15 dgram\\multi-buffer.js dur=5 type="recv" chunks=2 num=100 len=1024 -3.01 % *** 3.720551e-12 dgram\\multi-buffer.js dur=5 type="recv" chunks=2 num=100 len=256 -2.55 % *** 1.996293e-11 dgram\\multi-buffer.js dur=5 type="recv" chunks=2 num=100 len=64 -2.35 % *** 4.370677e-10 dgram\\multi-buffer.js dur=5 type="recv" chunks=4 num=100 len=1024 -3.60 % *** 2.927759e-15 dgram\\multi-buffer.js dur=5 type="recv" chunks=4 num=100 len=256 -3.26 % *** 7.747668e-13 dgram\\multi-buffer.js dur=5 type="recv" chunks=4 num=100 len=64 -3.33 % *** 1.610011e-10 dgram\\multi-buffer.js dur=5 type="recv" chunks=8 num=100 len=1024 -3.43 % *** 2.147567e-12 dgram\\multi-buffer.js dur=5 type="recv" chunks=8 num=100 len=256 -2.79 % *** 2.864880e-11 dgram\\multi-buffer.js dur=5 type="recv" chunks=8 num=100 len=64 -3.22 % *** 1.850481e-10 dgram\\multi-buffer.js dur=5 type="send" chunks=1 num=100 len=1024 -3.33 % *** 1.144536e-12 dgram\\multi-buffer.js dur=5 type="send" chunks=1 num=100 len=256 -3.25 % *** 2.333847e-13 dgram\\multi-buffer.js dur=5 type="send" chunks=1 num=100 len=64 -3.33 % *** 6.761801e-13 dgram\\multi-buffer.js dur=5 type="send" chunks=2 num=100 len=1024 -3.00 % *** 6.803914e-12 dgram\\multi-buffer.js dur=5 type="send" chunks=2 num=100 len=256 -2.70 % *** 5.407508e-09 dgram\\multi-buffer.js dur=5 type="send" chunks=2 num=100 len=64 -2.36 % *** 5.145809e-10 dgram\\multi-buffer.js dur=5 type="send" chunks=4 num=100 len=1024 -3.49 % *** 2.192709e-12 dgram\\multi-buffer.js dur=5 type="send" chunks=4 num=100 len=256 -3.43 % *** 1.511301e-13 dgram\\multi-buffer.js dur=5 type="send" chunks=4 num=100 len=64 -3.54 % *** 3.735185e-17 dgram\\multi-buffer.js dur=5 type="send" chunks=8 num=100 len=1024 -2.99 % *** 7.682578e-13 dgram\\multi-buffer.js dur=5 type="send" chunks=8 num=100 len=256 -2.91 % *** 3.488120e-10 dgram\\multi-buffer.js dur=5 type="send" chunks=8 num=100 len=64 -3.19 % *** 1.725149e-11 dgram\\offset-length.js dur=5 type="recv" num=100 len=1 -3.24 % *** 6.047982e-17 dgram\\offset-length.js dur=5 type="recv" num=100 len=1024 -3.36 % *** 7.278951e-16 dgram\\offset-length.js dur=5 type="recv" num=100 len=256 -3.11 % *** 9.445284e-15 dgram\\offset-length.js dur=5 type="recv" num=100 len=64 -3.18 % *** 4.141937e-16 dgram\\offset-length.js dur=5 type="send" num=100 len=1 -3.60 % *** 6.041570e-18 dgram\\offset-length.js dur=5 type="send" num=100 len=1024 -2.88 % *** 2.104597e-15 dgram\\offset-length.js dur=5 type="send" num=100 len=256 -3.36 % *** 6.063926e-20 dgram\\offset-length.js dur=5 type="send" num=100 len=64 -3.14 % *** 3.882746e-16 dgram\\single-buffer.js dur=5 type="recv" num=100 len=1 -3.38 % *** 7.641149e-04 dgram\\single-buffer.js dur=5 type="recv" num=100 len=1024 -4.15 % *** 3.633956e-27 dgram\\single-buffer.js dur=5 type="recv" num=100 len=256 -4.18 % *** 3.475801e-25 dgram\\single-buffer.js dur=5 type="recv" num=100 len=64 -3.97 % *** 3.483490e-18 dgram\\single-buffer.js dur=5 type="send" num=100 len=1 -4.10 % *** 1.717279e-23 dgram\\single-buffer.js dur=5 type="send" num=100 len=1024 -4.55 % *** 5.434080e-12 dgram\\single-buffer.js dur=5 type="send" num=100 len=256 -3.82 % *** 6.100148e-22 dgram\\single-buffer.js dur=5 type="send" num=100 len=64 -3.08 % *** 1.846774e-04 ```
vsemozhetbyt commented 7 years ago

domain:

                                            improvement confidence    p.value
 domain\\domain-fn-args.js n=10 arguments=0     -5.22 %            0.13903860
 domain\\domain-fn-args.js n=10 arguments=1     -2.80 %            0.12515340
 domain\\domain-fn-args.js n=10 arguments=2     -4.77 %          * 0.01492218
 domain\\domain-fn-args.js n=10 arguments=3     -4.34 %         ** 0.00841915
vsemozhetbyt commented 7 years ago

Wow.

es: ``` improvement confidence p.value es\\defaultparams-bench.js millions=100 method="withdefaults" 186.76 % *** 2.057441e-50 es\\defaultparams-bench.js millions=100 method="withoutdefaults" 187.46 % *** 1.148147e-66 es\\destructuring-bench.js millions=100 method="destructure" 58.76 % *** 3.980102e-67 es\\destructuring-bench.js millions=100 method="swap" -73.19 % *** 2.054673e-67 es\\destructuring-object-bench.js millions=100 method="destructureObject" 45.92 % *** 3.253867e-84 es\\destructuring-object-bench.js millions=100 method="normal" -2.25 % *** 1.426450e-24 es\\map-bench.js millions=1 method="fakeMap" -0.54 % 8.154590e-02 es\\map-bench.js millions=1 method="map" -1.98 % *** 4.223953e-12 es\\map-bench.js millions=1 method="nullProtoObject" -9.73 % *** 2.357791e-35 es\\map-bench.js millions=1 method="object" -6.76 % *** 2.362004e-27 es\\restparams-bench.js millions=100 method="arguments" -9.20 % *** 7.682132e-16 es\\restparams-bench.js millions=100 method="copy" -23.35 % *** 7.057908e-56 es\\restparams-bench.js millions=100 method="rest" 303.00 % *** 8.692510e-87 es\\spread-bench.js millions=5 rest=0 context="context" count=10 method="apply" 6.25 % *** 2.747691e-37 es\\spread-bench.js millions=5 rest=0 context="context" count=10 method="call-spread" 4.22 % *** 1.238224e-33 es\\spread-bench.js millions=5 rest=0 context="context" count=10 method="spread" 5.66 % *** 1.230090e-19 es\\spread-bench.js millions=5 rest=0 context="context" count=20 method="apply" 4.22 % *** 9.667833e-21 es\\spread-bench.js millions=5 rest=0 context="context" count=20 method="call-spread" 3.61 % *** 2.641823e-15 es\\spread-bench.js millions=5 rest=0 context="context" count=20 method="spread" 3.95 % *** 1.124106e-25 es\\spread-bench.js millions=5 rest=0 context="context" count=5 method="apply" 7.54 % *** 2.061487e-11 es\\spread-bench.js millions=5 rest=0 context="context" count=5 method="call-spread" 7.91 % *** 2.713476e-19 es\\spread-bench.js millions=5 rest=0 context="context" count=5 method="spread" 8.16 % *** 2.198573e-14 es\\spread-bench.js millions=5 rest=0 context="null" count=10 method="apply" 5.37 % *** 6.674710e-23 es\\spread-bench.js millions=5 rest=0 context="null" count=10 method="call-spread" 4.07 % *** 5.798976e-38 es\\spread-bench.js millions=5 rest=0 context="null" count=10 method="spread" 6.06 % *** 2.881326e-22 es\\spread-bench.js millions=5 rest=0 context="null" count=20 method="apply" 4.40 % *** 9.221114e-39 es\\spread-bench.js millions=5 rest=0 context="null" count=20 method="call-spread" 3.29 % *** 1.949925e-19 es\\spread-bench.js millions=5 rest=0 context="null" count=20 method="spread" 4.23 % *** 6.953280e-25 es\\spread-bench.js millions=5 rest=0 context="null" count=5 method="apply" 8.92 % *** 5.443435e-15 es\\spread-bench.js millions=5 rest=0 context="null" count=5 method="call-spread" 6.58 % *** 1.196305e-14 es\\spread-bench.js millions=5 rest=0 context="null" count=5 method="spread" 7.35 % *** 1.602696e-12 es\\spread-bench.js millions=5 rest=1 context="context" count=10 method="apply" 40.98 % *** 1.500746e-56 es\\spread-bench.js millions=5 rest=1 context="context" count=10 method="call-spread" 27.83 % *** 2.708692e-84 es\\spread-bench.js millions=5 rest=1 context="context" count=10 method="spread" 36.68 % *** 9.473065e-70 es\\spread-bench.js millions=5 rest=1 context="context" count=20 method="apply" 31.29 % *** 9.726107e-80 es\\spread-bench.js millions=5 rest=1 context="context" count=20 method="call-spread" 19.57 % *** 2.758893e-73 es\\spread-bench.js millions=5 rest=1 context="context" count=20 method="spread" 26.39 % *** 8.597381e-55 es\\spread-bench.js millions=5 rest=1 context="context" count=5 method="apply" 53.11 % *** 4.678357e-80 es\\spread-bench.js millions=5 rest=1 context="context" count=5 method="call-spread" 38.85 % *** 5.448252e-79 es\\spread-bench.js millions=5 rest=1 context="context" count=5 method="spread" 48.35 % *** 1.633168e-59 es\\spread-bench.js millions=5 rest=1 context="null" count=10 method="apply" 40.47 % *** 2.991328e-42 es\\spread-bench.js millions=5 rest=1 context="null" count=10 method="call-spread" 27.92 % *** 1.178384e-67 es\\spread-bench.js millions=5 rest=1 context="null" count=10 method="spread" 38.78 % *** 2.025877e-51 es\\spread-bench.js millions=5 rest=1 context="null" count=20 method="apply" 31.04 % *** 1.404906e-83 es\\spread-bench.js millions=5 rest=1 context="null" count=20 method="call-spread" 19.52 % *** 2.329415e-75 es\\spread-bench.js millions=5 rest=1 context="null" count=20 method="spread" 27.37 % *** 1.218005e-65 es\\spread-bench.js millions=5 rest=1 context="null" count=5 method="apply" 51.95 % *** 2.989997e-47 es\\spread-bench.js millions=5 rest=1 context="null" count=5 method="call-spread" 38.73 % *** 9.373389e-50 es\\spread-bench.js millions=5 rest=1 context="null" count=5 method="spread" 51.66 % *** 3.193677e-48 ```
jasnell commented 7 years ago

The improvements on the ES6 features is not unexpected. I suspect that the performance losses we see in other areas could be made up for by taking advantage of the highly optimized new features. In particular, using defaults and rest params will provide a significant boost throughout core based on these results.

bmeurer commented 7 years ago

@jasnell Yes. Plus I noticed that some parts of Node core are sort-of written in CrankshaftScript, i.e. carefully tuned towards stuff that works extremely well in Crankshaft. Once I+TF is in for sure, we should revisit Node core and do some auditing/refactoring.

vsemozhetbyt commented 7 years ago

events:

                                                      improvement confidence      p.value
 events\\ee-add-remove.js n=250000                       -45.96 %        *** 9.772078e-70
 events\\ee-emit-multi-args.js n=2000000                 -37.43 %        *** 1.653690e-47
 events\\ee-emit.js n=2000000                            -42.67 %        *** 1.317334e-47
 events\\ee-listener-count-on-prototype.js n=50000000    120.82 %        *** 3.881793e-63
 events\\ee-listeners-many.js n=5000000                   22.51 %        *** 7.230026e-65
 events\\ee-listeners.js n=5000000                        12.49 %        *** 5.530568e-39
 events\\ee-once.js n=20000000                           -17.92 %        *** 3.652062e-28
targos commented 7 years ago

@bmeurer Maybe the reported reason is wrong. It's true that main would be optimized again, but it is run only once. I rewrote the benchmark differently and now the results are much better and without deopt:

arrays: ``` improvement confidence p.value arrays/var-int.js n=25 type="Array" -1.05 % 8.210770e-01 arrays/var-int.js n=25 type="Buffer" -1.54 % 7.566834e-02 arrays/var-int.js n=25 type="Float32Array" 4.37 % 2.336688e-01 arrays/var-int.js n=25 type="Float64Array" 4.08 % 3.362891e-01 arrays/var-int.js n=25 type="Int16Array" -0.05 % 9.828921e-01 arrays/var-int.js n=25 type="Int32Array" -0.33 % 9.339843e-01 arrays/var-int.js n=25 type="Int8Array" -1.18 % 2.395664e-01 arrays/var-int.js n=25 type="Uint16Array" -0.40 % 8.660353e-01 arrays/var-int.js n=25 type="Uint32Array" -0.03 % 9.929733e-01 arrays/var-int.js n=25 type="Uint8Array" -1.43 % 1.526402e-01 arrays/zero-float.js n=25 type="Array" -1.17 % 8.379417e-01 arrays/zero-float.js n=25 type="Buffer" 9.29 % *** 5.629907e-07 arrays/zero-float.js n=25 type="Float32Array" 18.19 % *** 9.789400e-05 arrays/zero-float.js n=25 type="Float64Array" -0.48 % 9.050489e-01 arrays/zero-float.js n=25 type="Int16Array" 9.51 % ** 2.217754e-03 arrays/zero-float.js n=25 type="Int32Array" 17.43 % ** 1.694204e-03 arrays/zero-float.js n=25 type="Int8Array" 10.55 % *** 4.225859e-08 arrays/zero-float.js n=25 type="Uint16Array" 15.36 % *** 5.441519e-06 arrays/zero-float.js n=25 type="Uint32Array" 12.27 % ** 5.170996e-03 arrays/zero-float.js n=25 type="Uint8Array" 10.37 % *** 4.785524e-09 arrays/zero-int.js n=25 type="Array" -0.25 % 9.488216e-01 arrays/zero-int.js n=25 type="Buffer" 9.42 % *** 3.878194e-09 arrays/zero-int.js n=25 type="Float32Array" 18.75 % *** 6.911246e-05 arrays/zero-int.js n=25 type="Float64Array" -0.60 % 8.775090e-01 arrays/zero-int.js n=25 type="Int16Array" 11.43 % *** 4.247462e-07 arrays/zero-int.js n=25 type="Int32Array" 10.80 % *** 1.130166e-05 arrays/zero-int.js n=25 type="Int8Array" 9.77 % *** 1.961177e-09 arrays/zero-int.js n=25 type="Uint16Array" 8.71 % *** 3.570013e-04 arrays/zero-int.js n=25 type="Uint32Array" 11.22 % * 1.067604e-02 arrays/zero-int.js n=25 type="Uint8Array" 11.26 % *** 1.952135e-13 ```
bmeurer commented 7 years ago

@targos Interesting. Not sure why that was different with Crankshaft.

bmeurer commented 7 years ago

cc @ripsawridge

vsemozhetbyt commented 7 years ago
new es/foreach-bench.js: ``` improvement confidence p.value es\\foreach-bench.js millions=5 count=10 method="for-in" 1.36 % *** 1.074313e-05 es\\foreach-bench.js millions=5 count=10 method="for-of" 0.70 % *** 4.396489e-04 es\\foreach-bench.js millions=5 count=10 method="for" 5.31 % *** 2.817524e-26 es\\foreach-bench.js millions=5 count=10 method="forEach" 6.71 % *** 6.956617e-23 es\\foreach-bench.js millions=5 count=100 method="for-in" -2.48 % *** 1.222102e-12 es\\foreach-bench.js millions=5 count=100 method="for-of" 1.85 % *** 1.263492e-11 es\\foreach-bench.js millions=5 count=100 method="for" 21.90 % *** 1.471960e-44 es\\foreach-bench.js millions=5 count=100 method="forEach" -5.37 % *** 6.729070e-24 es\\foreach-bench.js millions=5 count=20 method="for-in" -1.60 % *** 1.931362e-07 es\\foreach-bench.js millions=5 count=20 method="for-of" 1.13 % *** 1.624073e-06 es\\foreach-bench.js millions=5 count=20 method="for" 12.95 % *** 7.255962e-58 es\\foreach-bench.js millions=5 count=20 method="forEach" 0.84 % *** 6.306995e-04 es\\foreach-bench.js millions=5 count=5 method="for-in" 2.90 % *** 2.485570e-13 es\\foreach-bench.js millions=5 count=5 method="for-of" -0.14 % 5.990183e-01 es\\foreach-bench.js millions=5 count=5 method="for" -3.16 % *** 1.395389e-07 es\\foreach-bench.js millions=5 count=5 method="forEach" 17.81 % *** 5.034140e-57 ```
vsemozhetbyt commented 7 years ago
fs: ``` improvement confidence p.value fs\\bench-readdir.js n=10000 -5.11 % *** 3.924817e-20 fs\\bench-readdirSync.js n=10000 -6.94 % *** 1.478970e-46 fs\\bench-realpath.js type="relative" n=10000 -5.61 % *** 2.957070e-29 fs\\bench-realpath.js type="resolved" n=10000 -1.59 % *** 1.410447e-20 fs\\bench-realpathSync.js type="relative" n=10000 -3.34 % *** 4.931189e-24 fs\\bench-realpathSync.js type="resolved" n=10000 -3.39 % *** 4.657622e-29 fs\\bench-stat.js kind="fstat" n=200000 0.52 % *** 8.834175e-05 fs\\bench-stat.js kind="lstat" n=200000 -2.40 % *** 4.154725e-29 fs\\bench-stat.js kind="stat" n=200000 -2.29 % *** 5.153562e-28 fs\\bench-statSync.js kind="fstatSync" n=1000000 -2.38 % *** 5.886934e-07 fs\\bench-statSync.js kind="lstatSync" n=1000000 -4.51 % *** 4.405402e-33 fs\\bench-statSync.js kind="statSync" n=1000000 -4.95 % *** 1.166178e-29 fs\\read-stream-throughput.js size=1024 type="asc" 1.33 % *** 1.875731e-11 fs\\read-stream-throughput.js size=1024 type="buf" 1.24 % *** 2.500616e-08 fs\\read-stream-throughput.js size=1024 type="utf" 0.91 % *** 2.266303e-09 fs\\read-stream-throughput.js size=1048576 type="asc" 1.32 % * 3.951369e-02 fs\\read-stream-throughput.js size=1048576 type="buf" -0.44 % 6.388215e-01 fs\\read-stream-throughput.js size=1048576 type="utf" 12.84 % *** 1.954167e-72 fs\\read-stream-throughput.js size=4096 type="asc" 2.51 % *** 3.448503e-18 fs\\read-stream-throughput.js size=4096 type="buf" 2.23 % *** 7.147049e-15 fs\\read-stream-throughput.js size=4096 type="utf" 10.39 % *** 4.376533e-14 fs\\read-stream-throughput.js size=65535 type="asc" -1.44 % ** 1.671240e-03 fs\\read-stream-throughput.js size=65535 type="buf" 0.10 % 8.507267e-01 fs\\read-stream-throughput.js size=65535 type="utf" 6.59 % *** 1.701592e-22 fs\\readfile.js concurrent=1 len=1024 dur=5 -0.08 % 4.452655e-01 fs\\readfile.js concurrent=1 len=16777216 dur=5 0.52 % ** 4.270573e-03 fs\\readfile.js concurrent=10 len=1024 dur=5 0.98 % *** 8.587115e-05 fs\\readfile.js concurrent=10 len=16777216 dur=5 1.09 % 7.939712e-02 fs\\readFileSync.js n=600000 -4.77 % *** 1.946469e-32 fs\\write-stream-throughput.js size=1024 type="asc" dur=5 -4.29 % *** 3.565158e-13 fs\\write-stream-throughput.js size=1024 type="buf" dur=5 1.01 % 5.068054e-02 fs\\write-stream-throughput.js size=1024 type="utf" dur=5 0.93 % ** 5.071567e-03 fs\\write-stream-throughput.js size=1048576 type="asc" dur=5 0.16 % 7.211940e-01 fs\\write-stream-throughput.js size=1048576 type="buf" dur=5 -0.70 % 2.057805e-01 fs\\write-stream-throughput.js size=1048576 type="utf" dur=5 -0.34 % 4.757785e-01 fs\\write-stream-throughput.js size=2 type="asc" dur=5 -14.14 % *** 2.365542e-15 fs\\write-stream-throughput.js size=2 type="buf" dur=5 -0.65 % 4.622438e-01 fs\\write-stream-throughput.js size=2 type="utf" dur=5 -10.30 % *** 7.760417e-12 fs\\write-stream-throughput.js size=65535 type="asc" dur=5 -0.89 % 8.919084e-02 fs\\write-stream-throughput.js size=65535 type="buf" dur=5 0.44 % 3.423196e-01 fs\\write-stream-throughput.js size=65535 type="utf" dur=5 -0.52 % 2.108948e-01 ```
vsemozhetbyt commented 7 years ago

module:

                                                                         improvement confidence      p.value
 module\\module-loader.js useCache="false" fullPath="false" thousands=50     -4.24 %          * 2.924986e-02
 module\\module-loader.js useCache="false" fullPath="true" thousands=50       1.43 %            4.253951e-01
 module\\module-loader.js useCache="true" fullPath="false" thousands=50      19.81 %        *** 2.188674e-07
 module\\module-loader.js useCache="true" fullPath="true" thousands=50        5.57 %            3.987202e-01
vsemozhetbyt commented 7 years ago

The most long http benchmarks was a little shortened: check_is_http_token.js was launched with set n=5e7 instead of 5e8 and simple.js was launched with --runs 15 instead of 30.

http: ``` improvement confidence p.value http\\bench-parser.js n=100000 fields=16 -4.37 % *** 3.569241e-28 http\\bench-parser.js n=100000 fields=32 -3.46 % * 1.656215e-02 http\\bench-parser.js n=100000 fields=4 -11.25 % *** 1.023311e-42 http\\bench-parser.js n=100000 fields=8 -7.27 % *** 7.002934e-31 http\\check_invalid_header_char.js n=500000000 key="\177" -88.89 % *** 1.087074e-76 http\\check_invalid_header_char.js n=500000000 key="" -78.56 % *** 1.307016e-82 http\\check_invalid_header_char.js n=500000000 key="\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tFoo bar baz" -38.94 % *** 1.564267e-107 http\\check_invalid_header_char.js n=500000000 key="1" -82.84 % *** 2.208471e-91 http\\check_invalid_header_char.js n=500000000 key="20091" -80.15 % *** 3.797239e-116 http\\check_invalid_header_char.js n=500000000 key="close" -80.14 % *** 1.631525e-142 http\\check_invalid_header_char.js n=500000000 key="en-US" -80.17 % *** 3.793769e-80 http\\check_invalid_header_char.js n=500000000 key="foo\\nbar" -91.21 % *** 7.622870e-154 http\\check_invalid_header_char.js n=500000000 key="gzip" -86.58 % *** 7.193320e-79 http\\check_invalid_header_char.js n=500000000 key="Here is a value..." -27.15 % *** 6.119973e-45 http\\check_invalid_header_char.js n=500000000 key="keep-alive" -54.69 % *** 2.247444e-66 http\\check_invalid_header_char.js n=500000000 key="private" -66.71 % *** 2.391885e-86 http\\check_invalid_header_char.js n=500000000 key="SAMEORIGIN" -54.73 % *** 4.635725e-76 http\\check_invalid_header_char.js n=500000000 key="Sat, 07 May 2016 16:54:48 GMT" -33.52 % *** 1.358258e-82 http\\check_invalid_header_char.js n=500000000 key="text/html; charset=utf-8" -36.93 % *** 1.107974e-47 http\\check_invalid_header_char.js n=500000000 key="text/plain" -54.66 % *** 8.837458e-56 http\\check_invalid_header_char.js n=500000000 key="中文呢" -34.59 % *** 3.093828e-52 http\\check_is_http_token.js n=50000000 key="((((())))" -80.63 % *** 2.506936e-60 http\\check_is_http_token.js n=50000000 key=":" -80.65 % *** 1.934004e-87 http\\check_is_http_token.js n=50000000 key=":alternate-protocol" -84.86 % *** 1.537442e-60 http\\check_is_http_token.js n=50000000 key="@@" -80.56 % *** 3.816927e-52 http\\check_is_http_token.js n=50000000 key="Accept-Ranges" -50.52 % *** 1.374950e-83 http\\check_is_http_token.js n=50000000 key="alt-svc" -59.64 % *** 1.257471e-71 http\\check_is_http_token.js n=50000000 key="alternate-protocol" -45.46 % *** 5.911024e-63 http\\check_is_http_token.js n=50000000 key="alternate-protocol:" -41.62 % *** 2.682686e-53 http\\check_is_http_token.js n=50000000 key="Cache-Control" -50.74 % *** 1.960734e-90 http\\check_is_http_token.js n=50000000 key="Connection" -47.90 % *** 8.006204e-63 http\\check_is_http_token.js n=50000000 key="Content-Encoding" -47.17 % *** 5.423750e-83 http\\check_is_http_token.js n=50000000 key="content-length" -49.73 % *** 1.641712e-59 http\\check_is_http_token.js n=50000000 key="Content-Location" -47.06 % *** 6.244804e-71 http\\check_is_http_token.js n=50000000 key="content-type" -43.33 % *** 7.090822e-71 http\\check_is_http_token.js n=50000000 key="Content-Type" -43.09 % *** 2.151129e-81 http\\check_is_http_token.js n=50000000 key="date" -81.51 % *** 1.778910e-73 http\\check_is_http_token.js n=50000000 key="ETag" -81.50 % *** 1.212925e-76 http\\check_is_http_token.js n=50000000 key="Expires" -59.18 % *** 1.485951e-74 http\\check_is_http_token.js n=50000000 key="Keep-Alive" -48.43 % *** 1.040756e-46 http\\check_is_http_token.js n=50000000 key="Last-Modified" -51.02 % *** 3.781236e-60 http\\check_is_http_token.js n=50000000 key="location" -55.80 % *** 5.556102e-64 http\\check_is_http_token.js n=50000000 key="server" -66.11 % *** 1.714344e-66 http\\check_is_http_token.js n=50000000 key="Server" -66.24 % *** 1.778495e-73 http\\check_is_http_token.js n=50000000 key="status" -66.81 % *** 1.687298e-60 http\\check_is_http_token.js n=50000000 key="TCN" -79.83 % *** 1.301879e-98 http\\check_is_http_token.js n=50000000 key="Transfer-Encoding" -46.97 % *** 2.318722e-45 http\\check_is_http_token.js n=50000000 key="Vary" -81.36 % *** 4.002107e-62 http\\check_is_http_token.js n=50000000 key="version" -59.34 % *** 6.095173e-76 http\\check_is_http_token.js n=50000000 key="x-frame-options" -48.38 % *** 2.059074e-70 http\\check_is_http_token.js n=50000000 key="x-xss-protection" -47.35 % *** 5.648471e-81 http\\check_is_http_token.js n=50000000 key="中文呢" -19.31 % *** 2.692170e-52 http\\chunked.js c=100 size=1 num=1 benchmarker="autocannon" -3.55 % *** 1.177415e-18 http\\chunked.js c=100 size=1 num=16 benchmarker="autocannon" -3.60 % *** 1.004363e-11 http\\chunked.js c=100 size=1 num=4 benchmarker="autocannon" -3.92 % *** 1.605936e-16 http\\chunked.js c=100 size=1 num=8 benchmarker="autocannon" -2.09 % *** 2.829203e-06 http\\chunked.js c=100 size=256 num=1 benchmarker="autocannon" -3.04 % *** 1.866999e-10 http\\chunked.js c=100 size=256 num=16 benchmarker="autocannon" -3.21 % *** 1.381201e-09 http\\chunked.js c=100 size=256 num=4 benchmarker="autocannon" -3.28 % *** 2.463133e-12 http\\chunked.js c=100 size=256 num=8 benchmarker="autocannon" -1.72 % *** 1.776643e-05 http\\chunked.js c=100 size=64 num=1 benchmarker="autocannon" -3.03 % *** 4.151764e-12 http\\chunked.js c=100 size=64 num=16 benchmarker="autocannon" -2.08 % *** 4.864422e-06 http\\chunked.js c=100 size=64 num=4 benchmarker="autocannon" -2.22 % *** 3.388990e-08 http\\chunked.js c=100 size=64 num=8 benchmarker="autocannon" -2.72 % *** 2.561185e-07 http\\client-request-body.js method="end" bytes=1024 type="asc" dur=5 -7.01 % *** 4.134339e-31 http\\client-request-body.js method="end" bytes=1024 type="buf" dur=5 -7.91 % *** 3.154750e-34 http\\client-request-body.js method="end" bytes=1024 type="utf" dur=5 -6.49 % *** 1.395121e-24 http\\client-request-body.js method="end" bytes=256 type="asc" dur=5 -6.90 % *** 2.348893e-33 http\\client-request-body.js method="end" bytes=256 type="buf" dur=5 -7.20 % *** 8.542280e-32 http\\client-request-body.js method="end" bytes=256 type="utf" dur=5 -7.13 % *** 9.335939e-36 http\\client-request-body.js method="end" bytes=32 type="asc" dur=5 -7.08 % *** 7.227582e-30 http\\client-request-body.js method="end" bytes=32 type="buf" dur=5 -7.25 % *** 6.532999e-35 http\\client-request-body.js method="end" bytes=32 type="utf" dur=5 -7.53 % *** 5.631636e-34 http\\client-request-body.js method="write" bytes=1024 type="asc" dur=5 -6.92 % *** 1.649107e-31 http\\client-request-body.js method="write" bytes=1024 type="buf" dur=5 -7.92 % *** 1.222351e-34 http\\client-request-body.js method="write" bytes=1024 type="utf" dur=5 -7.25 % *** 2.691796e-33 http\\client-request-body.js method="write" bytes=256 type="asc" dur=5 -7.01 % *** 3.714085e-32 http\\client-request-body.js method="write" bytes=256 type="buf" dur=5 -8.07 % *** 9.361541e-33 http\\client-request-body.js method="write" bytes=256 type="utf" dur=5 -7.38 % *** 2.399511e-30 http\\client-request-body.js method="write" bytes=32 type="asc" dur=5 -7.06 % *** 2.493660e-27 http\\client-request-body.js method="write" bytes=32 type="buf" dur=5 -8.08 % *** 1.307705e-30 http\\client-request-body.js method="write" bytes=32 type="utf" dur=5 -7.48 % *** 3.392244e-28 http\\cluster.js c=50 length=1024 type="buffer" benchmarker="autocannon" -4.78 % *** 3.117193e-07 http\\cluster.js c=50 length=1024 type="bytes" benchmarker="autocannon" -6.35 % *** 1.130824e-12 http\\cluster.js c=50 length=102400 type="buffer" benchmarker="autocannon" -5.82 % *** 1.821486e-07 http\\cluster.js c=50 length=102400 type="bytes" benchmarker="autocannon" -11.54 % *** 3.221650e-29 http\\cluster.js c=50 length=4 type="buffer" benchmarker="autocannon" -4.55 % *** 2.637825e-07 http\\cluster.js c=50 length=4 type="bytes" benchmarker="autocannon" -6.25 % *** 3.777872e-12 http\\cluster.js c=500 length=1024 type="buffer" benchmarker="autocannon" -5.03 % *** 1.108270e-10 http\\cluster.js c=500 length=1024 type="bytes" benchmarker="autocannon" -6.29 % *** 1.814635e-13 http\\cluster.js c=500 length=102400 type="buffer" benchmarker="autocannon" -5.29 % *** 4.350849e-05 http\\cluster.js c=500 length=102400 type="bytes" benchmarker="autocannon" -8.68 % *** 1.560928e-10 http\\cluster.js c=500 length=4 type="buffer" benchmarker="autocannon" -5.13 % *** 2.788204e-14 http\\cluster.js c=500 length=4 type="bytes" benchmarker="autocannon" -5.64 % *** 8.692756e-14 http\\create-clientrequest.js n=1000000 pathlen=1 1.76 % ** 6.565825e-03 http\\create-clientrequest.js n=1000000 pathlen=128 6.56 % *** 6.132681e-15 http\\create-clientrequest.js n=1000000 pathlen=16 10.93 % *** 1.240467e-23 http\\create-clientrequest.js n=1000000 pathlen=32 8.79 % *** 5.796884e-14 http\\create-clientrequest.js n=1000000 pathlen=64 6.54 % *** 4.556245e-22 http\\create-clientrequest.js n=1000000 pathlen=8 10.73 % *** 3.209776e-21 http\\end-vs-write-end.js method="end" c=100 kb=1024 type="asc" benchmarker="autocannon" 0.75 % 5.069610e-01 http\\end-vs-write-end.js method="end" c=100 kb=1024 type="buf" benchmarker="autocannon" -2.02 % ** 9.983234e-03 http\\end-vs-write-end.js method="end" c=100 kb=1024 type="utf" benchmarker="autocannon" 1.09 % 3.372412e-01 http\\end-vs-write-end.js method="end" c=100 kb=128 type="asc" benchmarker="autocannon" -10.09 % *** 7.552131e-18 http\\end-vs-write-end.js method="end" c=100 kb=128 type="buf" benchmarker="autocannon" -1.92 % * 3.740466e-02 http\\end-vs-write-end.js method="end" c=100 kb=128 type="utf" benchmarker="autocannon" -8.95 % *** 1.480997e-16 http\\end-vs-write-end.js method="end" c=100 kb=256 type="asc" benchmarker="autocannon" -4.08 % *** 1.377526e-06 http\\end-vs-write-end.js method="end" c=100 kb=256 type="buf" benchmarker="autocannon" 0.12 % 9.113114e-01 http\\end-vs-write-end.js method="end" c=100 kb=256 type="utf" benchmarker="autocannon" -3.19 % *** 1.029744e-05 http\\end-vs-write-end.js method="end" c=100 kb=64 type="asc" benchmarker="autocannon" -16.43 % *** 3.308102e-21 http\\end-vs-write-end.js method="end" c=100 kb=64 type="buf" benchmarker="autocannon" -1.25 % 1.566492e-01 http\\end-vs-write-end.js method="end" c=100 kb=64 type="utf" benchmarker="autocannon" -8.49 % *** 1.176542e-10 http\\end-vs-write-end.js method="write" c=100 kb=1024 type="asc" benchmarker="autocannon" -0.12 % 9.341455e-01 http\\end-vs-write-end.js method="write" c=100 kb=1024 type="buf" benchmarker="autocannon" 0.16 % 7.890450e-01 http\\end-vs-write-end.js method="write" c=100 kb=1024 type="utf" benchmarker="autocannon" -0.52 % 5.004981e-01 http\\end-vs-write-end.js method="write" c=100 kb=128 type="asc" benchmarker="autocannon" -11.05 % *** 1.926600e-16 http\\end-vs-write-end.js method="write" c=100 kb=128 type="buf" benchmarker="autocannon" -6.46 % *** 3.579947e-08 http\\end-vs-write-end.js method="write" c=100 kb=128 type="utf" benchmarker="autocannon" -11.42 % *** 8.420314e-24 http\\end-vs-write-end.js method="write" c=100 kb=256 type="asc" benchmarker="autocannon" -6.61 % *** 1.701159e-08 http\\end-vs-write-end.js method="write" c=100 kb=256 type="buf" benchmarker="autocannon" -6.35 % *** 1.870454e-07 http\\end-vs-write-end.js method="write" c=100 kb=256 type="utf" benchmarker="autocannon" -5.31 % *** 2.040191e-11 http\\end-vs-write-end.js method="write" c=100 kb=64 type="asc" benchmarker="autocannon" -23.43 % *** 1.297754e-26 http\\end-vs-write-end.js method="write" c=100 kb=64 type="buf" benchmarker="autocannon" -6.51 % *** 4.032692e-11 http\\end-vs-write-end.js method="write" c=100 kb=64 type="utf" benchmarker="autocannon" -11.04 % *** 1.206863e-19 http\\http_server_for_chunky_client.js type="send" num=2000 len=1 -5.79 % *** 8.491075e-18 http\\http_server_for_chunky_client.js type="send" num=2000 len=128 -2.59 % *** 8.357146e-14 http\\http_server_for_chunky_client.js type="send" num=2000 len=16 -4.59 % *** 1.302737e-22 http\\http_server_for_chunky_client.js type="send" num=2000 len=32 -3.71 % *** 8.800441e-16 http\\http_server_for_chunky_client.js type="send" num=2000 len=4 -5.07 % *** 6.604031e-17 http\\http_server_for_chunky_client.js type="send" num=2000 len=64 -3.57 % *** 2.493372e-14 http\\http_server_for_chunky_client.js type="send" num=2000 len=8 -5.43 % *** 6.684029e-18 http\\http_server_for_chunky_client.js type="send" num=5 len=1 -10.95 % *** 7.295982e-17 http\\http_server_for_chunky_client.js type="send" num=5 len=128 -18.91 % *** 1.691256e-28 http\\http_server_for_chunky_client.js type="send" num=5 len=16 -17.17 % *** 7.613305e-20 http\\http_server_for_chunky_client.js type="send" num=5 len=32 -16.70 % *** 9.378219e-23 http\\http_server_for_chunky_client.js type="send" num=5 len=4 -20.17 % *** 2.267978e-33 http\\http_server_for_chunky_client.js type="send" num=5 len=64 -18.62 % *** 6.457991e-23 http\\http_server_for_chunky_client.js type="send" num=5 len=8 -19.49 % *** 2.003852e-18 http\\http_server_for_chunky_client.js type="send" num=50 len=1 -15.03 % *** 1.106210e-39 http\\http_server_for_chunky_client.js type="send" num=50 len=128 -12.93 % *** 1.578896e-43 http\\http_server_for_chunky_client.js type="send" num=50 len=16 -14.41 % *** 2.370400e-40 http\\http_server_for_chunky_client.js type="send" num=50 len=32 -13.41 % *** 1.407625e-40 http\\http_server_for_chunky_client.js type="send" num=50 len=4 -14.83 % *** 1.022015e-43 http\\http_server_for_chunky_client.js type="send" num=50 len=64 -13.13 % *** 3.283492e-46 http\\http_server_for_chunky_client.js type="send" num=50 len=8 -14.18 % *** 1.020625e-41 http\\http_server_for_chunky_client.js type="send" num=500 len=1 -5.87 % *** 1.111754e-06 http\\http_server_for_chunky_client.js type="send" num=500 len=128 -4.72 % *** 4.420159e-19 http\\http_server_for_chunky_client.js type="send" num=500 len=16 -5.36 % *** 2.092015e-22 http\\http_server_for_chunky_client.js type="send" num=500 len=32 -3.68 % *** 1.404249e-13 http\\http_server_for_chunky_client.js type="send" num=500 len=4 -6.57 % *** 1.223214e-16 http\\http_server_for_chunky_client.js type="send" num=500 len=64 -4.79 % *** 2.066460e-23 http\\http_server_for_chunky_client.js type="send" num=500 len=8 -4.79 % *** 1.513417e-07 http\\simple.js res="normal" c=50 chunks=0 length=1024 type="buffer" benchmarker="autocannon" -4.17 % *** 4.862845e-05 http\\simple.js res="normal" c=50 chunks=0 length=1024 type="bytes" benchmarker="autocannon" -8.43 % *** 5.454468e-07 http\\simple.js res="normal" c=50 chunks=0 length=102400 type="buffer" benchmarker="autocannon" -4.91 % ** 3.241289e-03 http\\simple.js res="normal" c=50 chunks=0 length=102400 type="bytes" benchmarker="autocannon" -25.24 % *** 7.674309e-16 http\\simple.js res="normal" c=50 chunks=0 length=4 type="buffer" benchmarker="autocannon" -4.59 % *** 8.669667e-05 http\\simple.js res="normal" c=50 chunks=0 length=4 type="bytes" benchmarker="autocannon" -6.32 % *** 1.054130e-05 http\\simple.js res="normal" c=50 chunks=1 length=1024 type="buffer" benchmarker="autocannon" -5.06 % *** 2.501442e-05 http\\simple.js res="normal" c=50 chunks=1 length=1024 type="bytes" benchmarker="autocannon" -5.65 % *** 6.339490e-05 http\\simple.js res="normal" c=50 chunks=1 length=102400 type="buffer" benchmarker="autocannon" -3.28 % * 2.691863e-02 http\\simple.js res="normal" c=50 chunks=1 length=102400 type="bytes" benchmarker="autocannon" -13.40 % *** 1.355733e-16 http\\simple.js res="normal" c=50 chunks=1 length=4 type="buffer" benchmarker="autocannon" -4.24 % *** 3.382373e-04 http\\simple.js res="normal" c=50 chunks=1 length=4 type="bytes" benchmarker="autocannon" -4.45 % *** 2.801222e-05 http\\simple.js res="normal" c=50 chunks=4 length=1024 type="buffer" benchmarker="autocannon" -4.72 % *** 3.078187e-05 http\\simple.js res="normal" c=50 chunks=4 length=1024 type="bytes" benchmarker="autocannon" -3.68 % ** 3.193511e-03 http\\simple.js res="normal" c=50 chunks=4 length=102400 type="buffer" benchmarker="autocannon" -4.79 % ** 7.796647e-03 http\\simple.js res="normal" c=50 chunks=4 length=102400 type="bytes" benchmarker="autocannon" -9.21 % *** 7.230804e-05 http\\simple.js res="normal" c=50 chunks=4 length=4 type="buffer" benchmarker="autocannon" -5.82 % *** 2.674268e-05 http\\simple.js res="normal" c=50 chunks=4 length=4 type="bytes" benchmarker="autocannon" -4.23 % *** 4.396474e-04 http\\simple.js res="normal" c=500 chunks=0 length=1024 type="buffer" benchmarker="autocannon" -6.52 % *** 1.124726e-07 http\\simple.js res="normal" c=500 chunks=0 length=1024 type="bytes" benchmarker="autocannon" -8.37 % *** 7.851841e-08 http\\simple.js res="normal" c=500 chunks=0 length=102400 type="buffer" benchmarker="autocannon" -3.67 % * 3.904036e-02 http\\simple.js res="normal" c=500 chunks=0 length=102400 type="bytes" benchmarker="autocannon" -28.70 % *** 1.658213e-18 http\\simple.js res="normal" c=500 chunks=0 length=4 type="buffer" benchmarker="autocannon" -5.55 % *** 1.105788e-06 http\\simple.js res="normal" c=500 chunks=0 length=4 type="bytes" benchmarker="autocannon" -3.46 % ** 3.664429e-03 http\\simple.js res="normal" c=500 chunks=1 length=1024 type="buffer" benchmarker="autocannon" -5.76 % *** 2.093527e-06 http\\simple.js res="normal" c=500 chunks=1 length=1024 type="bytes" benchmarker="autocannon" -4.83 % *** 5.687172e-04 http\\simple.js res="normal" c=500 chunks=1 length=102400 type="buffer" benchmarker="autocannon" -3.93 % * 1.443829e-02 http\\simple.js res="normal" c=500 chunks=1 length=102400 type="bytes" benchmarker="autocannon" -15.57 % *** 2.753559e-17 http\\simple.js res="normal" c=500 chunks=1 length=4 type="buffer" benchmarker="autocannon" -6.46 % *** 7.633596e-07 http\\simple.js res="normal" c=500 chunks=1 length=4 type="bytes" benchmarker="autocannon" -4.28 % *** 6.074356e-04 http\\simple.js res="normal" c=500 chunks=4 length=1024 type="buffer" benchmarker="autocannon" -4.10 % *** 3.614595e-04 http\\simple.js res="normal" c=500 chunks=4 length=1024 type="bytes" benchmarker="autocannon" -3.00 % ** 6.119423e-03 http\\simple.js res="normal" c=500 chunks=4 length=102400 type="buffer" benchmarker="autocannon" -5.17 % ** 7.153175e-03 http\\simple.js res="normal" c=500 chunks=4 length=102400 type="bytes" benchmarker="autocannon" -5.45 % * 1.902785e-02 http\\simple.js res="normal" c=500 chunks=4 length=4 type="buffer" benchmarker="autocannon" -6.04 % *** 1.989949e-08 http\\simple.js res="normal" c=500 chunks=4 length=4 type="bytes" benchmarker="autocannon" -2.89 % * 2.727371e-02 http\\simple.js res="setHeader" c=50 chunks=0 length=1024 type="buffer" benchmarker="autocannon" -5.84 % *** 3.927146e-09 http\\simple.js res="setHeader" c=50 chunks=0 length=1024 type="bytes" benchmarker="autocannon" -8.28 % *** 1.050204e-07 http\\simple.js res="setHeader" c=50 chunks=0 length=102400 type="buffer" benchmarker="autocannon" -4.73 % ** 3.158161e-03 http\\simple.js res="setHeader" c=50 chunks=0 length=102400 type="bytes" benchmarker="autocannon" -10.73 % *** 5.309183e-15 http\\simple.js res="setHeader" c=50 chunks=0 length=4 type="buffer" benchmarker="autocannon" -6.36 % *** 1.812964e-09 http\\simple.js res="setHeader" c=50 chunks=0 length=4 type="bytes" benchmarker="autocannon" -5.88 % *** 3.057814e-04 http\\simple.js res="setHeader" c=50 chunks=1 length=1024 type="buffer" benchmarker="autocannon" -5.58 % *** 1.925861e-08 http\\simple.js res="setHeader" c=50 chunks=1 length=1024 type="bytes" benchmarker="autocannon" -6.23 % *** 2.869951e-06 http\\simple.js res="setHeader" c=50 chunks=1 length=102400 type="buffer" benchmarker="autocannon" -5.82 % ** 1.198956e-03 http\\simple.js res="setHeader" c=50 chunks=1 length=102400 type="bytes" benchmarker="autocannon" -10.41 % *** 1.290550e-13 http\\simple.js res="setHeader" c=50 chunks=1 length=4 type="buffer" benchmarker="autocannon" -6.35 % *** 4.469679e-08 http\\simple.js res="setHeader" c=50 chunks=1 length=4 type="bytes" benchmarker="autocannon" -4.81 % *** 7.020090e-06 http\\simple.js res="setHeader" c=50 chunks=4 length=1024 type="buffer" benchmarker="autocannon" -5.62 % *** 4.475218e-06 http\\simple.js res="setHeader" c=50 chunks=4 length=1024 type="bytes" benchmarker="autocannon" -3.18 % ** 2.280484e-03 http\\simple.js res="setHeader" c=50 chunks=4 length=102400 type="buffer" benchmarker="autocannon" -5.60 % ** 2.814704e-03 http\\simple.js res="setHeader" c=50 chunks=4 length=102400 type="bytes" benchmarker="autocannon" -6.29 % ** 3.563679e-03 http\\simple.js res="setHeader" c=50 chunks=4 length=4 type="buffer" benchmarker="autocannon" -6.56 % *** 1.448702e-08 http\\simple.js res="setHeader" c=50 chunks=4 length=4 type="bytes" benchmarker="autocannon" -2.69 % * 1.272579e-02 http\\simple.js res="setHeader" c=500 chunks=0 length=1024 type="buffer" benchmarker="autocannon" -5.44 % *** 1.667645e-05 http\\simple.js res="setHeader" c=500 chunks=0 length=1024 type="bytes" benchmarker="autocannon" -8.81 % *** 9.475921e-08 http\\simple.js res="setHeader" c=500 chunks=0 length=102400 type="buffer" benchmarker="autocannon" -2.75 % 6.818363e-02 http\\simple.js res="setHeader" c=500 chunks=0 length=102400 type="bytes" benchmarker="autocannon" -10.21 % *** 2.970999e-13 http\\simple.js res="setHeader" c=500 chunks=0 length=4 type="buffer" benchmarker="autocannon" -4.93 % *** 4.878756e-04 http\\simple.js res="setHeader" c=500 chunks=0 length=4 type="bytes" benchmarker="autocannon" -8.33 % *** 4.536478e-09 http\\simple.js res="setHeader" c=500 chunks=1 length=1024 type="buffer" benchmarker="autocannon" -5.24 % *** 1.016925e-04 http\\simple.js res="setHeader" c=500 chunks=1 length=1024 type="bytes" benchmarker="autocannon" -6.63 % *** 9.762973e-05 http\\simple.js res="setHeader" c=500 chunks=1 length=102400 type="buffer" benchmarker="autocannon" -4.17 % * 2.297458e-02 http\\simple.js res="setHeader" c=500 chunks=1 length=102400 type="bytes" benchmarker="autocannon" -12.01 % *** 1.902364e-17 http\\simple.js res="setHeader" c=500 chunks=1 length=4 type="buffer" benchmarker="autocannon" -4.51 % *** 4.990340e-04 http\\simple.js res="setHeader" c=500 chunks=1 length=4 type="bytes" benchmarker="autocannon" -6.48 % *** 2.152770e-06 http\\simple.js res="setHeader" c=500 chunks=4 length=1024 type="buffer" benchmarker="autocannon" -5.43 % *** 5.798034e-06 http\\simple.js res="setHeader" c=500 chunks=4 length=1024 type="bytes" benchmarker="autocannon" -3.33 % * 2.798374e-02 http\\simple.js res="setHeader" c=500 chunks=4 length=102400 type="buffer" benchmarker="autocannon" -4.07 % * 3.823748e-02 http\\simple.js res="setHeader" c=500 chunks=4 length=102400 type="bytes" benchmarker="autocannon" -8.36 % *** 3.811375e-04 http\\simple.js res="setHeader" c=500 chunks=4 length=4 type="buffer" benchmarker="autocannon" -5.58 % *** 2.991319e-05 http\\simple.js res="setHeader" c=500 chunks=4 length=4 type="bytes" benchmarker="autocannon" -3.15 % * 3.128712e-02 http\\simple.js res="setHeaderWH" c=50 chunks=0 length=1024 type="buffer" benchmarker="autocannon" -4.23 % *** 1.635204e-04 http\\simple.js res="setHeaderWH" c=50 chunks=0 length=1024 type="bytes" benchmarker="autocannon" -9.60 % *** 1.959187e-07 http\\simple.js res="setHeaderWH" c=50 chunks=0 length=102400 type="buffer" benchmarker="autocannon" -3.42 % * 1.414317e-02 http\\simple.js res="setHeaderWH" c=50 chunks=0 length=102400 type="bytes" benchmarker="autocannon" -24.92 % *** 1.729289e-12 http\\simple.js res="setHeaderWH" c=50 chunks=0 length=4 type="buffer" benchmarker="autocannon" -3.85 % ** 2.921067e-03 http\\simple.js res="setHeaderWH" c=50 chunks=0 length=4 type="bytes" benchmarker="autocannon" -7.80 % *** 1.600889e-07 http\\simple.js res="setHeaderWH" c=50 chunks=1 length=1024 type="buffer" benchmarker="autocannon" -4.69 % *** 5.645600e-05 http\\simple.js res="setHeaderWH" c=50 chunks=1 length=1024 type="bytes" benchmarker="autocannon" -7.51 % *** 3.705732e-06 http\\simple.js res="setHeaderWH" c=50 chunks=1 length=102400 type="buffer" benchmarker="autocannon" -4.58 % *** 7.952977e-04 http\\simple.js res="setHeaderWH" c=50 chunks=1 length=102400 type="bytes" benchmarker="autocannon" -13.14 % *** 4.292583e-18 http\\simple.js res="setHeaderWH" c=50 chunks=1 length=4 type="buffer" benchmarker="autocannon" -4.65 % *** 4.776798e-05 http\\simple.js res="setHeaderWH" c=50 chunks=1 length=4 type="bytes" benchmarker="autocannon" -5.81 % *** 3.656902e-06 http\\simple.js res="setHeaderWH" c=50 chunks=4 length=1024 type="buffer" benchmarker="autocannon" -5.38 % *** 5.252614e-06 http\\simple.js res="setHeaderWH" c=50 chunks=4 length=1024 type="bytes" benchmarker="autocannon" -3.39 % ** 7.162036e-03 http\\simple.js res="setHeaderWH" c=50 chunks=4 length=102400 type="buffer" benchmarker="autocannon" -4.63 % ** 6.541741e-03 http\\simple.js res="setHeaderWH" c=50 chunks=4 length=102400 type="bytes" benchmarker="autocannon" -8.07 % *** 6.679127e-04 http\\simple.js res="setHeaderWH" c=50 chunks=4 length=4 type="buffer" benchmarker="autocannon" -5.88 % *** 1.664189e-06 http\\simple.js res="setHeaderWH" c=50 chunks=4 length=4 type="bytes" benchmarker="autocannon" -3.82 % *** 7.560696e-04 http\\simple.js res="setHeaderWH" c=500 chunks=0 length=1024 type="buffer" benchmarker="autocannon" -5.89 % *** 3.958380e-07 http\\simple.js res="setHeaderWH" c=500 chunks=0 length=1024 type="bytes" benchmarker="autocannon" -9.99 % *** 3.889125e-09 http\\simple.js res="setHeaderWH" c=500 chunks=0 length=102400 type="buffer" benchmarker="autocannon" -3.60 % * 4.319252e-02 http\\simple.js res="setHeaderWH" c=500 chunks=0 length=102400 type="bytes" benchmarker="autocannon" -28.63 % *** 2.439082e-18 http\\simple.js res="setHeaderWH" c=500 chunks=0 length=4 type="buffer" benchmarker="autocannon" -6.45 % *** 3.711696e-10 http\\simple.js res="setHeaderWH" c=500 chunks=0 length=4 type="bytes" benchmarker="autocannon" -7.29 % *** 2.646061e-08 http\\simple.js res="setHeaderWH" c=500 chunks=1 length=1024 type="buffer" benchmarker="autocannon" -6.22 % *** 9.347363e-06 http\\simple.js res="setHeaderWH" c=500 chunks=1 length=1024 type="bytes" benchmarker="autocannon" -6.44 % *** 1.845766e-05 http\\simple.js res="setHeaderWH" c=500 chunks=1 length=102400 type="buffer" benchmarker="autocannon" -5.09 % * 1.153079e-02 http\\simple.js res="setHeaderWH" c=500 chunks=1 length=102400 type="bytes" benchmarker="autocannon" -15.37 % *** 1.632493e-16 http\\simple.js res="setHeaderWH" c=500 chunks=1 length=4 type="buffer" benchmarker="autocannon" -5.77 % *** 9.809755e-07 http\\simple.js res="setHeaderWH" c=500 chunks=1 length=4 type="bytes" benchmarker="autocannon" -4.46 % *** 3.223076e-04 http\\simple.js res="setHeaderWH" c=500 chunks=4 length=1024 type="buffer" benchmarker="autocannon" -6.08 % *** 5.702144e-06 http\\simple.js res="setHeaderWH" c=500 chunks=4 length=1024 type="bytes" benchmarker="autocannon" -2.95 % * 1.536396e-02 http\\simple.js res="setHeaderWH" c=500 chunks=4 length=102400 type="buffer" benchmarker="autocannon" -4.31 % * 1.684718e-02 http\\simple.js res="setHeaderWH" c=500 chunks=4 length=102400 type="bytes" benchmarker="autocannon" -7.40 % ** 2.654488e-03 http\\simple.js res="setHeaderWH" c=500 chunks=4 length=4 type="buffer" benchmarker="autocannon" -6.73 % *** 7.854392e-09 http\\simple.js res="setHeaderWH" c=500 chunks=4 length=4 type="bytes" benchmarker="autocannon" -3.46 % ** 7.784934e-03 ```
vsemozhetbyt commented 7 years ago
misc: ``` improvement confidence p.value misc\\console.js n=1000000 concat=0 method="argumentsAndApply" -26.14 % *** 2.201807e-40 misc\\console.js n=1000000 concat=0 method="restAndApply" -21.56 % *** 1.936516e-44 misc\\console.js n=1000000 concat=0 method="restAndSpread" -20.52 % *** 6.357674e-49 misc\\console.js n=1000000 concat=1 method="argumentsAndApply" -26.26 % *** 7.053815e-51 misc\\console.js n=1000000 concat=1 method="restAndApply" -21.04 % *** 1.023553e-45 misc\\console.js n=1000000 concat=1 method="restAndConcat" -4.28 % *** 8.609795e-08 misc\\console.js n=1000000 concat=1 method="restAndSpread" -20.08 % *** 9.286904e-45 misc\\freelist.js n=100000 17.16 % *** 2.083549e-35 misc\\function_call millions=1 type="cxx" -13.57 % *** 5.217981e-33 misc\\function_call millions=1 type="js" -60.54 % *** 1.155724e-24 misc\\function_call millions=10 type="cxx" 5.26 % *** 6.329318e-16 misc\\function_call millions=10 type="js" -40.13 % *** 7.196825e-23 misc\\function_call millions=50 type="cxx" 7.33 % *** 1.368828e-19 misc\\function_call millions=50 type="js" -36.34 % *** 1.205710e-27 misc\\object-property-bench.js millions=1000 method="property" 20.91 % *** 1.537022e-18 misc\\object-property-bench.js millions=1000 method="string" 16.57 % *** 7.177799e-19 misc\\object-property-bench.js millions=1000 method="symbol" 15.03 % *** 4.089301e-19 misc\\object-property-bench.js millions=1000 method="variable" 34.96 % *** 8.130042e-35 misc\\punycode.js val="belgië.icom.museum" n=1024 method="icu" -15.66 % *** 2.092903e-18 misc\\punycode.js val="belgië.icom.museum" n=1024 method="punycode" -27.68 % *** 2.112061e-28 misc\\punycode.js val="magyarország.icom.museum" n=1024 method="icu" -8.40 % *** 1.722056e-10 misc\\punycode.js val="magyarország.icom.museum" n=1024 method="punycode" -25.97 % *** 1.213478e-32 misc\\punycode.js val="বাংলাদেশ.icom.museum" n=1024 method="icu" -9.02 % *** 3.697747e-13 misc\\punycode.js val="বাংলাদেশ.icom.museum" n=1024 method="punycode" -14.37 % *** 1.138328e-20 misc\\punycode.js val="भारत.icom.museum" n=1024 method="icu" -12.76 % *** 5.644435e-19 misc\\punycode.js val="भारत.icom.museum" n=1024 method="punycode" -20.65 % *** 1.929275e-29 misc\\punycode.js val="éire.icom.museum" n=1024 method="icu" -16.66 % *** 5.703962e-17 misc\\punycode.js val="éire.icom.museum" n=1024 method="punycode" -30.28 % *** 1.549743e-22 misc\\punycode.js val="österreich.icom.museum" n=1024 method="icu" -10.05 % *** 7.403410e-15 misc\\punycode.js val="österreich.icom.museum" n=1024 method="punycode" -25.37 % *** 1.147458e-30 misc\\punycode.js val="ísland.icom.museum" n=1024 method="icu" -15.95 % *** 1.630791e-26 misc\\punycode.js val="ísland.icom.museum" n=1024 method="punycode" -28.11 % *** 5.076882e-41 misc\\punycode.js val="中国.icom.museum" n=1024 method="icu" -16.99 % *** 2.515988e-29 misc\\punycode.js val="中国.icom.museum" n=1024 method="punycode" -22.59 % *** 1.058508e-33 misc\\punycode.js val="českárepublika.icom.museum" n=1024 method="icu" -10.05 % *** 3.276463e-17 misc\\punycode.js val="českárepublika.icom.museum" n=1024 method="punycode" -23.16 % *** 1.480277e-17 misc\\punycode.js val="日本.icom.museum" n=1024 method="icu" -16.83 % *** 7.876895e-28 misc\\punycode.js val="日本.icom.museum" n=1024 method="punycode" -22.98 % *** 4.387199e-34 misc\\punycode.js val="ελλάδα.icom.museum" n=1024 method="icu" -13.00 % *** 3.036516e-21 misc\\punycode.js val="ελλάδα.icom.museum" n=1024 method="punycode" -18.98 % *** 2.596563e-24 misc\\punycode.js val="κυπρος.icom.museum" n=1024 method="icu" -14.10 % *** 5.987785e-25 misc\\punycode.js val="κυπρος.icom.museum" n=1024 method="punycode" -16.58 % *** 9.273270e-16 misc\\punycode.js val="беларусь.icom.museum" n=1024 method="icu" -6.12 % *** 4.743267e-10 misc\\punycode.js val="беларусь.icom.museum" n=1024 method="punycode" -14.62 % *** 3.084253e-29 misc\\punycode.js val="българия.icom.museum" n=1024 method="icu" -6.45 % *** 1.717987e-12 misc\\punycode.js val="българия.icom.museum" n=1024 method="punycode" -14.47 % *** 9.394979e-26 misc\\punycode.js val="איקו״ם.ישראל.museum" n=1024 method="icu" -7.09 % *** 1.340933e-10 misc\\punycode.js val="איקו״ם.ישראל.museum" n=1024 method="punycode" -12.65 % *** 1.735791e-19 misc\\punycode.js val="الجزائر.icom.museum" n=1024 method="icu" -8.55 % *** 1.032625e-08 misc\\punycode.js val="الجزائر.icom.museum" n=1024 method="punycode" -17.24 % *** 1.206787e-19 misc\\punycode.js val="الأردن.icom.museum" n=1024 method="icu" -12.85 % *** 5.900678e-23 misc\\punycode.js val="الأردن.icom.museum" n=1024 method="punycode" -18.58 % *** 3.158682e-26 misc\\punycode.js val="القمر.icom.museum" n=1024 method="icu" -13.28 % *** 2.988017e-17 misc\\punycode.js val="القمر.icom.museum" n=1024 method="punycode" -20.49 % *** 6.873428e-33 misc\\punycode.js val="افغانستا.icom.museum" n=1024 method="icu" -7.54 % * 2.700532e-02 misc\\punycode.js val="افغانستا.icom.museum" n=1024 method="punycode" -14.09 % *** 2.748224e-24 misc\\punycode.js val="ايران.icom.museum" n=1024 method="icu" -14.00 % *** 3.810230e-23 misc\\punycode.js val="ايران.icom.museum" n=1024 method="punycode" -20.49 % *** 2.289076e-35 misc\\punycode.js val="تشادر.icom.museum" n=1024 method="icu" -14.70 % *** 1.121242e-25 misc\\punycode.js val="تشادر.icom.museum" n=1024 method="punycode" -19.34 % *** 3.448097e-34 misc\\punycode.js val="مصر.icom.museum" n=1024 method="icu" -16.70 % *** 3.561400e-27 misc\\punycode.js val="مصر.icom.museum" n=1024 method="punycode" -21.11 % *** 1.669461e-30 misc\\startup.js dur=1 2.64 % *** 6.349501e-31 misc\\util-extend-vs-object-assign.js n=100000 type="assign" 5.86 % *** 2.562101e-34 misc\\util-extend-vs-object-assign.js n=100000 type="extend" 6.95 % *** 1.860250e-29 ```
vsemozhetbyt commented 7 years ago

I can't get the data from net/tcp-raw-pipe.js due to https://github.com/nodejs/node/issues/11972

net: ``` improvement confidence p.value net\\net-c2s-cork.js dur=5 type="buf" len=1024 -1.82 % *** 1.459071e-04 net\\net-c2s-cork.js dur=5 type="buf" len=128 -2.08 % *** 2.868727e-05 net\\net-c2s-cork.js dur=5 type="buf" len=16 -1.22 % ** 7.662987e-03 net\\net-c2s-cork.js dur=5 type="buf" len=32 -1.72 % *** 8.782447e-04 net\\net-c2s-cork.js dur=5 type="buf" len=4 -1.03 % * 2.950394e-02 net\\net-c2s-cork.js dur=5 type="buf" len=512 -2.09 % *** 4.327445e-07 net\\net-c2s-cork.js dur=5 type="buf" len=64 -1.86 % *** 9.534242e-05 net\\net-c2s-cork.js dur=5 type="buf" len=8 1.23 % ** 3.051232e-03 net\\net-c2s.js dur=5 type="asc" len=102400 -1.57 % *** 1.533519e-04 net\\net-c2s.js dur=5 type="asc" len=16777216 -0.02 % 9.339418e-01 net\\net-c2s.js dur=5 type="buf" len=102400 -1.35 % *** 2.334037e-04 net\\net-c2s.js dur=5 type="buf" len=16777216 0.97 % *** 1.881552e-05 net\\net-c2s.js dur=5 type="utf" len=102400 -0.77 % ** 3.194185e-03 net\\net-c2s.js dur=5 type="utf" len=16777216 0.87 % *** 7.962570e-04 net\\net-pipe.js dur=5 type="asc" len=102400 21.46 % 5.914150e-02 net\\net-pipe.js dur=5 type="asc" len=16777216 -5.31 % 5.306393e-01 net\\net-pipe.js dur=5 type="buf" len=102400 15.24 % 1.506721e-01 net\\net-pipe.js dur=5 type="buf" len=16777216 17.44 % 1.068245e-01 net\\net-pipe.js dur=5 type="utf" len=102400 6.00 % 3.415080e-01 net\\net-pipe.js dur=5 type="utf" len=16777216 4.76 % 5.760742e-01 net\\net-s2c.js dur=5 type="asc" len=102400 -1.26 % *** 1.179792e-04 net\\net-s2c.js dur=5 type="asc" len=16777216 0.24 % 2.778647e-01 net\\net-s2c.js dur=5 type="buf" len=102400 -1.58 % *** 1.175153e-04 net\\net-s2c.js dur=5 type="buf" len=16777216 1.09 % ** 9.607544e-03 net\\net-s2c.js dur=5 type="utf" len=102400 -1.39 % *** 1.722645e-10 net\\net-s2c.js dur=5 type="utf" len=16777216 0.93 % 1.215938e-01 net\\tcp-raw-c2s.js dur=5 type="asc" len=102400 -0.51 % 2.520456e-01 net\\tcp-raw-c2s.js dur=5 type="asc" len=16777216 -0.68 % * 3.019990e-02 net\\tcp-raw-c2s.js dur=5 type="buf" len=102400 -0.53 % 5.924597e-02 net\\tcp-raw-c2s.js dur=5 type="buf" len=16777216 0.65 % ** 1.305128e-03 net\\tcp-raw-c2s.js dur=5 type="utf" len=102400 -0.53 % 9.120898e-02 net\\tcp-raw-c2s.js dur=5 type="utf" len=16777216 0.63 % 1.074695e-01 net\\tcp-raw-s2c.js dur=5 type="asc" len=102400 -0.71 % * 4.672277e-02 net\\tcp-raw-s2c.js dur=5 type="asc" len=16777216 -0.21 % 6.686713e-01 net\\tcp-raw-s2c.js dur=5 type="buf" len=102400 -0.67 % 5.853961e-02 net\\tcp-raw-s2c.js dur=5 type="buf" len=16777216 0.61 % *** 4.102306e-04 net\\tcp-raw-s2c.js dur=5 type="utf" len=102400 -0.21 % 6.136643e-01 net\\tcp-raw-s2c.js dur=5 type="utf" len=16777216 -0.16 % 7.074423e-01 ```
vsemozhetbyt commented 7 years ago

os:

                          improvement confidence      p.value
 os\\cpus.js n=30000          -5.34 %        *** 1.939582e-21
 os\\loadavg.js n=5000000     13.34 %        *** 8.419388e-36
vsemozhetbyt commented 7 years ago
path: ``` improvement confidence p.value path\\basename-posix.js n=1000000 pathext="" -63.72 % *** 7.972229e-87 path\\basename-posix.js n=1000000 pathext="/" -61.18 % *** 4.847508e-54 path\\basename-posix.js n=1000000 pathext="/foo" -42.95 % *** 6.579336e-54 path\\basename-posix.js n=1000000 pathext="/foo/.bar.baz" -35.42 % *** 6.458303e-58 path\\basename-posix.js n=1000000 pathext="/foo/.bar.baz|.baz" -38.90 % *** 5.114367e-47 path\\basename-posix.js n=1000000 pathext="/foo/bar/baz/asdf/quux.html" -34.64 % *** 5.680667e-77 path\\basename-posix.js n=1000000 pathext="/foo/bar/baz/asdf/quux.html|.html" -38.44 % *** 3.398100e-37 path\\basename-posix.js n=1000000 pathext="foo" -30.42 % *** 5.289076e-26 path\\basename-posix.js n=1000000 pathext="foo/bar." -41.75 % *** 1.522160e-61 path\\basename-posix.js n=1000000 pathext="foo/bar.|." -40.68 % *** 6.138483e-73 path\\basename-win32.js n=1000000 pathext="" 2.02 % *** 1.697661e-05 path\\basename-win32.js n=1000000 pathext="\\\\foo\\\\bar\\\\baz\\\\asdf\\\\quux.html" -32.94 % *** 3.011641e-69 path\\basename-win32.js n=1000000 pathext="\\\\foo\\\\bar\\\\baz\\\\asdf\\\\quux.html|.html" -39.65 % *** 2.710561e-36 path\\basename-win32.js n=1000000 pathext="C:\\\\" -0.35 % 3.623362e-01 path\\basename-win32.js n=1000000 pathext="C:\\\\foo" -38.26 % *** 4.491057e-31 path\\basename-win32.js n=1000000 pathext="D:\\\\foo\\\\.bar.baz" -36.80 % *** 1.903412e-55 path\\basename-win32.js n=1000000 pathext="E:\\\\foo\\\\.bar.baz|.baz" -40.15 % *** 1.213143e-78 path\\basename-win32.js n=1000000 pathext="foo" -39.85 % *** 3.582715e-34 path\\basename-win32.js n=1000000 pathext="foo\\\\bar." -38.21 % *** 8.553596e-32 path\\basename-win32.js n=1000000 pathext="foo\\\\bar.|." -42.70 % *** 1.160270e-78 path\\dirname-posix.js n=1000000 path="" 108.90 % *** 3.192646e-27 path\\dirname-posix.js n=1000000 path="/" 54.13 % *** 3.752221e-23 path\\dirname-posix.js n=1000000 path="/foo" 3.32 % *** 2.067586e-06 path\\dirname-posix.js n=1000000 path="/foo/bar" -46.25 % *** 2.085955e-67 path\\dirname-posix.js n=1000000 path="/foo/bar/baz/asdf/quux" -48.09 % *** 1.763896e-68 path\\dirname-posix.js n=1000000 path="foo" 9.07 % *** 3.677880e-16 path\\dirname-posix.js n=1000000 path="foo/bar" -44.34 % *** 7.393023e-40 path\\dirname-win32.js n=1000000 path="" 6.50 % *** 1.442126e-19 path\\dirname-win32.js n=1000000 path="\\\\" -0.69 % 4.622190e-01 path\\dirname-win32.js n=1000000 path="\\\\foo" -45.41 % *** 1.238034e-36 path\\dirname-win32.js n=1000000 path="C:\\\\foo\\\\bar" -40.50 % *** 1.579244e-42 path\\dirname-win32.js n=1000000 path="D:\\\\foo\\\\bar\\\\baz\\\\asdf\\\\quux" -41.58 % *** 5.750483e-47 path\\dirname-win32.js n=1000000 path="foo" -7.23 % *** 6.400612e-16 path\\dirname-win32.js n=1000000 path="foo\\\\bar" -42.97 % *** 1.579394e-41 path\\extname-posix.js n=1000000 path="" 46.64 % *** 1.586172e-21 path\\extname-posix.js n=1000000 path="/" 5.24 % *** 2.051733e-04 path\\extname-posix.js n=1000000 path="/foo" 10.73 % *** 2.044978e-16 path\\extname-posix.js n=1000000 path="/foo/bar/baz/asdf/quux" 5.91 % *** 3.055372e-14 path\\extname-posix.js n=1000000 path="/foo/bar/baz/asdf/quux.foobarbazasdfquux" -28.07 % *** 2.889039e-60 path\\extname-posix.js n=1000000 path="foo/.bar.baz" -25.21 % *** 6.052502e-37 path\\extname-posix.js n=1000000 path="foo/bar/...baz.quux" -21.58 % *** 1.285000e-42 path\\extname-posix.js n=1000000 path="foo/bar/..baz.quux" -26.03 % *** 4.527125e-49 path\\extname-posix.js n=1000000 path="index" 6.01 % *** 8.395085e-13 path\\extname-posix.js n=1000000 path="index.html" -23.62 % *** 1.398418e-39 path\\extname-win32.js n=1000000 path="" 20.26 % *** 2.391834e-27 path\\extname-win32.js n=1000000 path="\\\\" 8.35 % *** 2.943167e-07 path\\extname-win32.js n=1000000 path="\\\\foo\\\\bar\\\\baz\\\\asdf\\\\quux.foobarbazasdfquux" -25.68 % *** 1.963505e-41 path\\extname-win32.js n=1000000 path="C:\\\\foo" 7.01 % *** 1.191268e-10 path\\extname-win32.js n=1000000 path="D:\\\\foo\\\\bar\\\\baz\\\\asdf\\\\quux" -0.34 % 5.089722e-01 path\\extname-win32.js n=1000000 path="foo\\\\.bar.baz" -26.05 % *** 1.499951e-43 path\\extname-win32.js n=1000000 path="foo\\\\bar\\\\...baz.quux" -24.23 % *** 3.217899e-52 path\\extname-win32.js n=1000000 path="foo\\\\bar\\\\..baz.quux" -27.27 % *** 5.032098e-58 path\\extname-win32.js n=1000000 path="index" 5.69 % *** 6.526503e-12 path\\extname-win32.js n=1000000 path="index.html" -29.21 % *** 1.562881e-53 path\\format-posix.js n=10000000 props="/|/home/user/dir|index.html|.html|index" 5.12 % *** 1.851497e-41 path\\format-win32.js n=10000000 props="C:\\\\|C:\\\\path\\\\dir|index.html|.html|index" 3.33 % *** 1.542088e-09 path\\isAbsolute-posix.js n=1000000 path="" 66.62 % *** 1.732319e-29 path\\isAbsolute-posix.js n=1000000 path="." 95.90 % *** 1.225573e-45 path\\isAbsolute-posix.js n=1000000 path="/baz/.." 96.98 % *** 4.575373e-57 path\\isAbsolute-posix.js n=1000000 path="/foo/bar" 96.90 % *** 6.311222e-29 path\\isAbsolute-posix.js n=1000000 path="bar/baz" 97.45 % *** 1.077931e-43 path\\isAbsolute-win32.js n=1000000 path="" 17.66 % *** 4.448630e-19 path\\isAbsolute-win32.js n=1000000 path="." 15.06 % *** 1.883809e-18 path\\isAbsolute-win32.js n=1000000 path="//server" 12.02 % *** 3.973785e-10 path\\isAbsolute-win32.js n=1000000 path="bar\\\\baz" 5.74 % *** 9.422067e-08 path\\isAbsolute-win32.js n=1000000 path="C:\\\\baz\\\\.." 7.12 % *** 1.679380e-15 path\\isAbsolute-win32.js n=1000000 path="C:baz\\\\.." 5.40 % *** 2.450905e-09 path\\join-posix.js n=1000000 paths="/foo|bar||baz/asdf|quux|.." -25.61 % *** 3.510907e-53 path\\join-win32.js n=1000000 paths="C:\\\\foo|bar||baz\\\\asdf|quux|.." -27.60 % *** 6.194898e-37 path\\makeLong-win32.js n=1000000 path="\\\\\\\\?\\\\foo" -40.63 % *** 1.585669e-35 path\\makeLong-win32.js n=1000000 path="\\\\\\\\foo\\\\bar" -38.93 % *** 1.931870e-33 path\\makeLong-win32.js n=1000000 path="C:\\\\foo" -49.08 % *** 9.044804e-52 path\\makeLong-win32.js n=1000000 path="foo\\\\bar" -24.07 % *** 7.556764e-36 path\\normalize-posix.js n=1000000 path="" 22.18 % *** 8.681512e-16 path\\normalize-posix.js n=1000000 path="." -57.51 % *** 1.930965e-53 path\\normalize-posix.js n=1000000 path="/../" 7.81 % *** 1.672203e-36 path\\normalize-posix.js n=1000000 path="/foo" -31.45 % *** 2.614388e-32 path\\normalize-posix.js n=1000000 path="/foo/bar" -34.98 % *** 1.887172e-60 path\\normalize-posix.js n=1000000 path="/foo/bar//baz/asdf/quux/.." -34.83 % *** 1.859104e-103 path\\normalize-win32.js n=1000000 path="" -53.51 % *** 7.594871e-75 path\\normalize-win32.js n=1000000 path="." 45.83 % *** 2.109627e-72 path\\normalize-win32.js n=1000000 path="C:\\\\..\\\\" -37.17 % *** 3.511419e-59 path\\normalize-win32.js n=1000000 path="C:\\\\foo" -43.03 % *** 2.596450e-78 path\\normalize-win32.js n=1000000 path="C:\\\\foo\\\\bar" -42.50 % *** 9.444913e-55 path\\normalize-win32.js n=1000000 path="C:\\\\foo\\\\bar\\\\\\\\baz\\\\asdf\\\\quux\\\\.." -38.41 % *** 1.894135e-74 path\\parse-posix.js n=1000000 path="" 4.88 % *** 4.576062e-08 path\\parse-posix.js n=1000000 path="/" 29.84 % *** 6.803799e-27 path\\parse-posix.js n=1000000 path="/foo" -33.90 % *** 3.448181e-68 path\\parse-posix.js n=1000000 path="/foo/bar.baz" -44.29 % *** 3.181684e-74 path\\parse-posix.js n=1000000 path="/foo/bar/baz/asdf/.quux" -43.93 % *** 6.999986e-56 path\\parse-posix.js n=1000000 path="foo/.bar.baz" -41.86 % *** 1.147585e-72 path\\parse-posix.js n=1000000 path="foo/bar" -41.06 % *** 7.659892e-56 path\\parse-win32.js n=1000000 path="" 4.19 % *** 3.017737e-07 path\\parse-win32.js n=1000000 path="\\\\foo" -45.97 % *** 2.949364e-35 path\\parse-win32.js n=1000000 path="\\\\foo\\\\bar\\\\baz\\\\asdf\\\\.quux" -45.03 % *** 1.008225e-46 path\\parse-win32.js n=1000000 path="C:\\\\" -23.77 % *** 5.080037e-66 path\\parse-win32.js n=1000000 path="C:\\\\foo" -49.00 % *** 1.425173e-34 path\\parse-win32.js n=1000000 path="E:\\\\foo\\\\bar.baz" -48.59 % *** 4.010505e-40 path\\parse-win32.js n=1000000 path="foo\\\\.bar.baz" -40.68 % *** 9.031899e-39 path\\parse-win32.js n=1000000 path="foo\\\\bar" -40.41 % *** 1.171231e-36 path\\relative-posix.js n=1000000 paths="/|/" 71.27 % *** 1.219290e-56 path\\relative-posix.js n=1000000 paths="/|/var" -21.06 % *** 6.400950e-65 path\\relative-posix.js n=1000000 paths="/data/orandea/test/aaa|/data/orandea/impl/bbb" -15.58 % *** 2.014213e-68 path\\relative-posix.js n=1000000 paths="/foo/bar/baz/quux|/" -13.75 % *** 4.856238e-18 path\\relative-posix.js n=1000000 paths="/foo/bar/baz/quux|/foo/bar/baz/quux" 15.68 % *** 1.778843e-18 path\\relative-posix.js n=1000000 paths="/foo/bar/baz/quux|/var/log" -16.65 % *** 1.094989e-32 path\\relative-posix.js n=1000000 paths="/var|/bin" -22.84 % *** 8.439324e-85 path\\relative-win32.js n=1000000 paths="C:\\\\|D:\\\\" -42.18 % *** 2.392501e-62 path\\relative-win32.js n=1000000 paths="C:\\\\foo\\\\bar\\\\baz\\\\quux|C:\\\\" -31.11 % *** 4.270156e-46 path\\relative-win32.js n=1000000 paths="C:\\\\foo\\\\bar\\\\baz|C:\\\\foo\\\\bar\\\\baz" 27.20 % *** 2.027956e-22 path\\relative-win32.js n=1000000 paths="C:\\\\foo\\\\BAR\\\\BAZ|C:\\\\foo\\\\bar\\\\baz" -35.70 % *** 2.861596e-46 path\\relative-win32.js n=1000000 paths="C:\\\\orandea\\\\test\\\\aaa|C:\\\\orandea\\\\impl\\\\bbb" -27.29 % *** 5.522954e-35 path\\resolve-posix.js n=1000000 paths="" 10.31 % *** 1.865554e-38 path\\resolve-posix.js n=1000000 paths="|" 10.15 % *** 5.066807e-44 path\\resolve-posix.js n=1000000 paths="a/b/c/|../../.." -12.48 % *** 8.517295e-71 path\\resolve-posix.js n=1000000 paths="foo/bar|/tmp/file/|..|a/../subfile" -27.17 % *** 9.409730e-47 path\\resolve-win32.js n=1000000 paths="" -22.93 % *** 1.664854e-61 path\\resolve-win32.js n=1000000 paths="|" -23.05 % *** 4.143697e-51 path\\resolve-win32.js n=1000000 paths="c:/blah\\\\blah|d:/games|c:../a" -38.45 % *** 2.200041e-118 path\\resolve-win32.js n=1000000 paths="c:/ignore|d:\\\\a/b\\\\c/d|\\\\e.exe" -50.14 % *** 1.775652e-38 ```
vsemozhetbyt commented 7 years ago

process:

                                                improvement confidence      p.value
 process\\bench-env.js n=100000                      0.28 %            1.493386e-01
 process\\bench-hrtime.js type="diff" n=1000000     -0.31 %        *** 9.291465e-06
 process\\bench-hrtime.js type="raw" n=1000000      -0.37 %        *** 4.781790e-16
 process\\memoryUsage.js n=100000                   -5.51 %        *** 1.062248e-13
 process\\next-tick-breadth-args.js millions=2     -20.70 %        *** 5.710155e-60
 process\\next-tick-breadth.js millions=2           11.20 %        *** 2.730821e-47
 process\\next-tick-depth-args.js millions=2       -30.70 %        *** 2.342960e-62
 process\\next-tick-depth.js millions=2            -28.69 %        *** 6.210576e-43
vsemozhetbyt commented 7 years ago
querystring: ``` improvement confidence p.value querystring\\querystring-parse.js n=1000000 type="altspaces" -10.92 % *** 1.364564e-13 querystring\\querystring-parse.js n=1000000 type="encodefake" -10.04 % *** 4.934766e-25 querystring\\querystring-parse.js n=1000000 type="encodelast" -10.78 % *** 6.040949e-27 querystring\\querystring-parse.js n=1000000 type="encodemany" -3.88 % *** 2.484171e-12 querystring\\querystring-parse.js n=1000000 type="manyblankpairs" 17.03 % *** 3.669811e-30 querystring\\querystring-parse.js n=1000000 type="manypairs" 71.94 % *** 2.961889e-50 querystring\\querystring-parse.js n=1000000 type="multicharsep" -15.18 % *** 4.718177e-32 querystring\\querystring-parse.js n=1000000 type="multivalue" -2.28 % *** 3.041186e-07 querystring\\querystring-parse.js n=1000000 type="multivaluemany" -14.39 % *** 4.898868e-31 querystring\\querystring-parse.js n=1000000 type="noencode" -11.90 % *** 1.981318e-26 querystring\\querystring-stringify.js n=10000000 type="encodelast" -16.25 % *** 2.404157e-31 querystring\\querystring-stringify.js n=10000000 type="encodemany" -18.63 % *** 3.232300e-64 querystring\\querystring-stringify.js n=10000000 type="noencode" -5.14 % *** 6.372979e-24 querystring\\querystring-unescapebuffer.js n=10000000 input="%20%21%22%23%24%25%26%27%28%29%2A%2B%2C%2D%2E%2F%30%31%32%33%34%35%36%37" -6.47 % *** 1.572508e-22 querystring\\querystring-unescapebuffer.js n=10000000 input="there is nothing to unescape here" 3.07 % *** 2.934277e-06 querystring\\querystring-unescapebuffer.js n=10000000 input="there%20are%20several%20spaces%20that%20need%20to%20be%20unescaped" -10.03 % *** 3.310386e-19 querystring\\querystring-unescapebuffer.js n=10000000 input="there%2Qare%0-fake%escaped values in%%%%this%9Hstring" -5.56 % *** 6.509139e-16 ```
targos commented 7 years ago
vm: ``` improvement confidence p.value vm/run-in-context.js withSigintListener=0 breakOnSigint=0 n=200000 -1.69 % 1.722634e-01 vm/run-in-context.js withSigintListener=0 breakOnSigint=1 n=200000 0.06 % 9.724491e-01 vm/run-in-context.js withSigintListener=1 breakOnSigint=0 n=200000 -3.25 % *** 9.922300e-04 vm/run-in-context.js withSigintListener=1 breakOnSigint=1 n=200000 0.36 % 7.734769e-01 vm/run-in-this-context.js withSigintListener=0 breakOnSigint=0 n=200000 -3.81 % *** 1.130806e-05 vm/run-in-this-context.js withSigintListener=0 breakOnSigint=1 n=200000 -1.43 % 2.500253e-01 vm/run-in-this-context.js withSigintListener=1 breakOnSigint=0 n=200000 -4.65 % *** 4.163715e-08 vm/run-in-this-context.js withSigintListener=1 breakOnSigint=1 n=200000 0.77 % 5.442813e-01 ```
targos commented 7 years ago

I'm trying to analyze the profile of buffers/buffer-bytelength:

  • tf: buffers/buffer-bytelength.js n=100000000 len=1 encoding="utf8": 19,619,972.642906845
  • cs: buffers/buffer-bytelength.js n=100000000 len=1 encoding="utf8": 33,020,356.335780904

It seems that TF spends a lot more time (and ticks) in C++ (70% vs 46%).

Full results: https://gist.github.com/targos/7f22961a9d930f867c563b1b2ffe6e1b

bmeurer commented 7 years ago

@targos Looks a bit like TF doesn't handle an API call in the fast case. That should be mostly the same logic in both TF and CS, but maybe we missed some corner case?

vsemozhetbyt commented 7 years ago

(string-decoder.js was launched with n=25e4 instead of 25e5)

string_decoder: ``` improvement confidence p.value string_decoder\\string-decoder-create.js n=25000000 encoding="ascii" -5.57 % *** 2.938499e-28 string_decoder\\string-decoder-create.js n=25000000 encoding="AscII" -11.21 % *** 2.233764e-31 string_decoder\\string-decoder-create.js n=25000000 encoding="base64" 18.13 % *** 2.788810e-43 string_decoder\\string-decoder-create.js n=25000000 encoding="ucs2" 21.31 % *** 3.090671e-35 string_decoder\\string-decoder-create.js n=25000000 encoding="UTF-16LE" 12.17 % *** 1.610229e-15 string_decoder\\string-decoder-create.js n=25000000 encoding="utf-8" 26.49 % *** 5.179343e-44 string_decoder\\string-decoder-create.js n=25000000 encoding="UTF-8" 17.64 % *** 1.119155e-32 string_decoder\\string-decoder-create.js n=25000000 encoding="utf8" 33.97 % *** 2.164914e-43 string_decoder\\string-decoder.js n=250000 chunk=1024 inlen=1024 encoding="ascii" -10.28 % *** 4.118098e-43 string_decoder\\string-decoder.js n=250000 chunk=1024 inlen=1024 encoding="base64-ascii" -10.85 % *** 2.352498e-64 string_decoder\\string-decoder.js n=250000 chunk=1024 inlen=1024 encoding="base64-utf8" -10.11 % *** 2.515007e-49 string_decoder\\string-decoder.js n=250000 chunk=1024 inlen=1024 encoding="utf16le" -4.03 % *** 2.609310e-37 string_decoder\\string-decoder.js n=250000 chunk=1024 inlen=1024 encoding="utf8" -5.25 % *** 3.511981e-63 string_decoder\\string-decoder.js n=250000 chunk=1024 inlen=128 encoding="ascii" -19.03 % *** 6.691114e-43 string_decoder\\string-decoder.js n=250000 chunk=1024 inlen=128 encoding="base64-ascii" -18.85 % *** 8.161656e-24 string_decoder\\string-decoder.js n=250000 chunk=1024 inlen=128 encoding="base64-utf8" -18.74 % *** 8.300350e-27 string_decoder\\string-decoder.js n=250000 chunk=1024 inlen=128 encoding="utf16le" -15.45 % *** 1.551373e-57 string_decoder\\string-decoder.js n=250000 chunk=1024 inlen=128 encoding="utf8" -13.16 % *** 6.316570e-62 string_decoder\\string-decoder.js n=250000 chunk=1024 inlen=32 encoding="ascii" -20.26 % *** 3.785883e-47 string_decoder\\string-decoder.js n=250000 chunk=1024 inlen=32 encoding="base64-ascii" -21.82 % *** 1.009891e-21 string_decoder\\string-decoder.js n=250000 chunk=1024 inlen=32 encoding="base64-utf8" -21.91 % *** 3.389575e-20 string_decoder\\string-decoder.js n=250000 chunk=1024 inlen=32 encoding="utf16le" -15.73 % *** 3.185635e-44 string_decoder\\string-decoder.js n=250000 chunk=1024 inlen=32 encoding="utf8" -27.20 % *** 5.069660e-61 string_decoder\\string-decoder.js n=250000 chunk=1024 inlen=4096 encoding="ascii" -7.34 % *** 1.208310e-39 string_decoder\\string-decoder.js n=250000 chunk=1024 inlen=4096 encoding="base64-ascii" -7.49 % *** 2.706785e-40 string_decoder\\string-decoder.js n=250000 chunk=1024 inlen=4096 encoding="base64-utf8" -7.27 % *** 2.205726e-33 string_decoder\\string-decoder.js n=250000 chunk=1024 inlen=4096 encoding="utf16le" -3.41 % *** 1.607691e-15 string_decoder\\string-decoder.js n=250000 chunk=1024 inlen=4096 encoding="utf8" -4.79 % *** 3.066881e-69 string_decoder\\string-decoder.js n=250000 chunk=16 inlen=1024 encoding="ascii" -21.32 % *** 3.470832e-57 string_decoder\\string-decoder.js n=250000 chunk=16 inlen=1024 encoding="base64-ascii" -21.74 % *** 7.859288e-35 string_decoder\\string-decoder.js n=250000 chunk=16 inlen=1024 encoding="base64-utf8" -22.21 % *** 1.199006e-35 string_decoder\\string-decoder.js n=250000 chunk=16 inlen=1024 encoding="utf16le" -12.17 % *** 3.176889e-22 string_decoder\\string-decoder.js n=250000 chunk=16 inlen=1024 encoding="utf8" -16.20 % *** 6.902098e-31 string_decoder\\string-decoder.js n=250000 chunk=16 inlen=128 encoding="ascii" -21.20 % *** 1.196128e-43 string_decoder\\string-decoder.js n=250000 chunk=16 inlen=128 encoding="base64-ascii" -22.98 % *** 7.835172e-36 string_decoder\\string-decoder.js n=250000 chunk=16 inlen=128 encoding="base64-utf8" -21.89 % *** 3.082109e-32 string_decoder\\string-decoder.js n=250000 chunk=16 inlen=128 encoding="utf16le" -13.96 % *** 1.030760e-20 string_decoder\\string-decoder.js n=250000 chunk=16 inlen=128 encoding="utf8" -26.04 % *** 6.023027e-37 string_decoder\\string-decoder.js n=250000 chunk=16 inlen=32 encoding="ascii" -22.78 % *** 4.964699e-53 string_decoder\\string-decoder.js n=250000 chunk=16 inlen=32 encoding="base64-ascii" -24.04 % *** 2.392287e-36 string_decoder\\string-decoder.js n=250000 chunk=16 inlen=32 encoding="base64-utf8" -23.38 % *** 1.614575e-31 string_decoder\\string-decoder.js n=250000 chunk=16 inlen=32 encoding="utf16le" -17.59 % *** 6.662991e-47 string_decoder\\string-decoder.js n=250000 chunk=16 inlen=32 encoding="utf8" -30.77 % *** 1.348067e-69 string_decoder\\string-decoder.js n=250000 chunk=16 inlen=4096 encoding="ascii" -18.28 % *** 2.205989e-24 string_decoder\\string-decoder.js n=250000 chunk=16 inlen=4096 encoding="base64-ascii" -20.96 % *** 7.900781e-24 string_decoder\\string-decoder.js n=250000 chunk=16 inlen=4096 encoding="base64-utf8" -22.17 % *** 9.200040e-52 string_decoder\\string-decoder.js n=250000 chunk=16 inlen=4096 encoding="utf16le" -13.88 % *** 2.685590e-44 string_decoder\\string-decoder.js n=250000 chunk=16 inlen=4096 encoding="utf8" -17.09 % *** 1.771876e-49 string_decoder\\string-decoder.js n=250000 chunk=256 inlen=1024 encoding="ascii" -12.46 % *** 8.386790e-34 string_decoder\\string-decoder.js n=250000 chunk=256 inlen=1024 encoding="base64-ascii" -14.75 % *** 6.154259e-29 string_decoder\\string-decoder.js n=250000 chunk=256 inlen=1024 encoding="base64-utf8" -11.85 % *** 3.647512e-30 string_decoder\\string-decoder.js n=250000 chunk=256 inlen=1024 encoding="utf16le" -7.36 % *** 1.969025e-25 string_decoder\\string-decoder.js n=250000 chunk=256 inlen=1024 encoding="utf8" -4.14 % *** 8.657672e-36 string_decoder\\string-decoder.js n=250000 chunk=256 inlen=128 encoding="ascii" -18.56 % *** 2.216563e-38 string_decoder\\string-decoder.js n=250000 chunk=256 inlen=128 encoding="base64-ascii" -17.95 % *** 1.226298e-20 string_decoder\\string-decoder.js n=250000 chunk=256 inlen=128 encoding="base64-utf8" -18.22 % *** 1.556503e-22 string_decoder\\string-decoder.js n=250000 chunk=256 inlen=128 encoding="utf16le" -15.75 % *** 1.177897e-53 string_decoder\\string-decoder.js n=250000 chunk=256 inlen=128 encoding="utf8" -12.93 % *** 4.922752e-61 string_decoder\\string-decoder.js n=250000 chunk=256 inlen=32 encoding="ascii" -20.00 % *** 2.622663e-47 string_decoder\\string-decoder.js n=250000 chunk=256 inlen=32 encoding="base64-ascii" -22.46 % *** 2.631449e-22 string_decoder\\string-decoder.js n=250000 chunk=256 inlen=32 encoding="base64-utf8" -23.06 % *** 2.441661e-22 string_decoder\\string-decoder.js n=250000 chunk=256 inlen=32 encoding="utf16le" -16.00 % *** 1.075582e-49 string_decoder\\string-decoder.js n=250000 chunk=256 inlen=32 encoding="utf8" -27.23 % *** 1.741069e-66 string_decoder\\string-decoder.js n=250000 chunk=256 inlen=4096 encoding="ascii" -12.18 % *** 2.709551e-37 string_decoder\\string-decoder.js n=250000 chunk=256 inlen=4096 encoding="base64-ascii" -9.53 % *** 5.832544e-21 string_decoder\\string-decoder.js n=250000 chunk=256 inlen=4096 encoding="base64-utf8" -8.51 % *** 5.870005e-27 string_decoder\\string-decoder.js n=250000 chunk=256 inlen=4096 encoding="utf16le" -7.64 % *** 2.962503e-33 string_decoder\\string-decoder.js n=250000 chunk=256 inlen=4096 encoding="utf8" -3.02 % *** 7.767665e-47 string_decoder\\string-decoder.js n=250000 chunk=64 inlen=1024 encoding="ascii" -15.56 % *** 4.858562e-43 string_decoder\\string-decoder.js n=250000 chunk=64 inlen=1024 encoding="base64-ascii" -16.94 % *** 5.797840e-19 string_decoder\\string-decoder.js n=250000 chunk=64 inlen=1024 encoding="base64-utf8" -12.47 % *** 1.226234e-20 string_decoder\\string-decoder.js n=250000 chunk=64 inlen=1024 encoding="utf16le" -9.30 % *** 3.702454e-20 string_decoder\\string-decoder.js n=250000 chunk=64 inlen=1024 encoding="utf8" -10.59 % *** 8.160000e-54 string_decoder\\string-decoder.js n=250000 chunk=64 inlen=128 encoding="ascii" -19.21 % *** 7.353231e-50 string_decoder\\string-decoder.js n=250000 chunk=64 inlen=128 encoding="base64-ascii" -16.99 % *** 8.922750e-18 string_decoder\\string-decoder.js n=250000 chunk=64 inlen=128 encoding="base64-utf8" -14.68 % *** 1.513500e-22 string_decoder\\string-decoder.js n=250000 chunk=64 inlen=128 encoding="utf16le" -16.00 % *** 3.151190e-46 string_decoder\\string-decoder.js n=250000 chunk=64 inlen=128 encoding="utf8" -16.36 % *** 2.746556e-59 string_decoder\\string-decoder.js n=250000 chunk=64 inlen=32 encoding="ascii" -20.88 % *** 2.914962e-33 string_decoder\\string-decoder.js n=250000 chunk=64 inlen=32 encoding="base64-ascii" -23.01 % *** 8.390443e-24 string_decoder\\string-decoder.js n=250000 chunk=64 inlen=32 encoding="base64-utf8" -22.59 % *** 2.732638e-20 string_decoder\\string-decoder.js n=250000 chunk=64 inlen=32 encoding="utf16le" -15.60 % *** 5.365177e-39 string_decoder\\string-decoder.js n=250000 chunk=64 inlen=32 encoding="utf8" -26.52 % *** 8.555508e-38 string_decoder\\string-decoder.js n=250000 chunk=64 inlen=4096 encoding="ascii" -19.69 % *** 1.330018e-38 string_decoder\\string-decoder.js n=250000 chunk=64 inlen=4096 encoding="base64-ascii" -11.96 % *** 6.249688e-17 string_decoder\\string-decoder.js n=250000 chunk=64 inlen=4096 encoding="base64-utf8" -8.68 % *** 5.494369e-11 string_decoder\\string-decoder.js n=250000 chunk=64 inlen=4096 encoding="utf16le" -12.10 % *** 7.708981e-45 string_decoder\\string-decoder.js n=250000 chunk=64 inlen=4096 encoding="utf8" -3.56 % *** 1.850288e-45 ```
vsemozhetbyt commented 7 years ago
tls: ``` improvement confidence p.value tls\\convertprotocols.js n=1 -1.28 % 3.987238e-01 tls\\convertprotocols.js n=50000 -7.17 % *** 1.529057e-17 tls\\throughput.js size=1024 type="asc" dur=5 -0.46 % *** 2.143612e-04 tls\\throughput.js size=1024 type="buf" dur=5 -0.54 % *** 2.668916e-07 tls\\throughput.js size=1024 type="utf" dur=5 -0.53 % *** 2.389609e-06 tls\\throughput.js size=1048576 type="asc" dur=5 -0.53 % *** 1.990643e-09 tls\\throughput.js size=1048576 type="buf" dur=5 -0.52 % *** 1.093546e-12 tls\\throughput.js size=1048576 type="utf" dur=5 -0.80 % *** 3.224579e-13 tls\\throughput.js size=2 type="asc" dur=5 4.04 % *** 7.047651e-15 tls\\throughput.js size=2 type="buf" dur=5 3.99 % *** 6.373564e-12 tls\\throughput.js size=2 type="utf" dur=5 -0.14 % 6.862909e-01 tls\\tls-connect.js dur=5 concurrency=1 -1.55 % *** 1.795457e-07 tls\\tls-connect.js dur=5 concurrency=10 -2.21 % *** 4.948116e-13 ```
vsemozhetbyt commented 7 years ago
url: ``` improvement confidence p.value url\\legacy-vs-whatwg-url-get-prop.js n=100000 method="legacy" type="auth" -34.68 % *** 1.134414e-42 url\\legacy-vs-whatwg-url-get-prop.js n=100000 method="legacy" type="dot" -36.20 % *** 3.690335e-38 url\\legacy-vs-whatwg-url-get-prop.js n=100000 method="legacy" type="file" -37.51 % *** 1.797921e-72 url\\legacy-vs-whatwg-url-get-prop.js n=100000 method="legacy" type="idn" -0.14 % 7.634703e-01 url\\legacy-vs-whatwg-url-get-prop.js n=100000 method="legacy" type="javascript" -37.03 % *** 1.103488e-61 url\\legacy-vs-whatwg-url-get-prop.js n=100000 method="legacy" type="long" -35.99 % *** 7.285023e-63 url\\legacy-vs-whatwg-url-get-prop.js n=100000 method="legacy" type="percent" -37.05 % *** 1.104747e-33 url\\legacy-vs-whatwg-url-get-prop.js n=100000 method="legacy" type="short" -36.11 % *** 8.727093e-62 url\\legacy-vs-whatwg-url-get-prop.js n=100000 method="legacy" type="ws" -35.67 % *** 1.944222e-38 url\\legacy-vs-whatwg-url-get-prop.js n=100000 method="whatwg" type="auth" -48.61 % *** 7.992448e-58 url\\legacy-vs-whatwg-url-get-prop.js n=100000 method="whatwg" type="dot" -45.38 % *** 3.662469e-33 url\\legacy-vs-whatwg-url-get-prop.js n=100000 method="whatwg" type="file" -47.54 % *** 9.435727e-33 url\\legacy-vs-whatwg-url-get-prop.js n=100000 method="whatwg" type="idn" -65.33 % *** 7.051892e-87 url\\legacy-vs-whatwg-url-get-prop.js n=100000 method="whatwg" type="javascript" -69.68 % *** 1.603037e-34 url\\legacy-vs-whatwg-url-get-prop.js n=100000 method="whatwg" type="long" -43.30 % *** 3.376686e-56 url\\legacy-vs-whatwg-url-get-prop.js n=100000 method="whatwg" type="percent" -61.89 % *** 2.388693e-38 url\\legacy-vs-whatwg-url-get-prop.js n=100000 method="whatwg" type="short" -44.23 % *** 2.510468e-27 url\\legacy-vs-whatwg-url-get-prop.js n=100000 method="whatwg" type="ws" -55.04 % *** 4.578596e-55 url\\legacy-vs-whatwg-url-parse.js n=100000 method="legacy" type="auth" -12.45 % *** 1.711388e-40 url\\legacy-vs-whatwg-url-parse.js n=100000 method="legacy" type="dot" 0.45 % 1.882933e-01 url\\legacy-vs-whatwg-url-parse.js n=100000 method="legacy" type="file" 98.08 % *** 1.621694e-64 url\\legacy-vs-whatwg-url-parse.js n=100000 method="legacy" type="idn" 1.15 % *** 4.218465e-04 url\\legacy-vs-whatwg-url-parse.js n=100000 method="legacy" type="javascript" 13.76 % *** 1.356816e-50 url\\legacy-vs-whatwg-url-parse.js n=100000 method="legacy" type="long" 2.27 % *** 1.409552e-14 url\\legacy-vs-whatwg-url-parse.js n=100000 method="legacy" type="percent" 96.61 % *** 1.899178e-82 url\\legacy-vs-whatwg-url-parse.js n=100000 method="legacy" type="short" 0.80 % * 1.239411e-02 url\\legacy-vs-whatwg-url-parse.js n=100000 method="legacy" type="ws" 0.85 % ** 9.112197e-03 url\\legacy-vs-whatwg-url-parse.js n=100000 method="whatwg" type="auth" 2.50 % *** 7.503010e-11 url\\legacy-vs-whatwg-url-parse.js n=100000 method="whatwg" type="dot" 7.52 % *** 8.455763e-38 url\\legacy-vs-whatwg-url-parse.js n=100000 method="whatwg" type="file" 7.90 % *** 1.526125e-36 url\\legacy-vs-whatwg-url-parse.js n=100000 method="whatwg" type="idn" 5.55 % *** 2.489551e-43 url\\legacy-vs-whatwg-url-parse.js n=100000 method="whatwg" type="javascript" 12.64 % *** 2.417359e-48 url\\legacy-vs-whatwg-url-parse.js n=100000 method="whatwg" type="long" 6.94 % *** 2.121187e-55 url\\legacy-vs-whatwg-url-parse.js n=100000 method="whatwg" type="percent" 7.66 % *** 5.306395e-46 url\\legacy-vs-whatwg-url-parse.js n=100000 method="whatwg" type="short" 7.11 % *** 2.798048e-42 url\\legacy-vs-whatwg-url-parse.js n=100000 method="whatwg" type="ws" 6.11 % *** 2.729744e-37 url\\legacy-vs-whatwg-url-searchparams-parse.js n=100000 method="legacy" type="altspaces" -14.68 % *** 1.929322e-29 url\\legacy-vs-whatwg-url-searchparams-parse.js n=100000 method="legacy" type="encodefake" -16.68 % *** 7.459998e-34 url\\legacy-vs-whatwg-url-searchparams-parse.js n=100000 method="legacy" type="encodelast" -13.59 % *** 7.181302e-34 url\\legacy-vs-whatwg-url-searchparams-parse.js n=100000 method="legacy" type="encodemany" -6.63 % *** 1.324676e-23 url\\legacy-vs-whatwg-url-searchparams-parse.js n=100000 method="legacy" type="manyblankpairs" -61.45 % *** 6.221670e-29 url\\legacy-vs-whatwg-url-searchparams-parse.js n=100000 method="legacy" type="manypairs" 69.11 % *** 9.437955e-54 url\\legacy-vs-whatwg-url-searchparams-parse.js n=100000 method="legacy" type="multicharsep" -13.70 % *** 8.321268e-48 url\\legacy-vs-whatwg-url-searchparams-parse.js n=100000 method="legacy" type="multivalue" -11.17 % *** 4.977578e-26 url\\legacy-vs-whatwg-url-searchparams-parse.js n=100000 method="legacy" type="multivaluemany" -16.96 % *** 1.765300e-30 url\\legacy-vs-whatwg-url-searchparams-parse.js n=100000 method="legacy" type="noencode" -15.45 % *** 3.347243e-36 url\\legacy-vs-whatwg-url-searchparams-parse.js n=100000 method="whatwg" type="altspaces" -13.75 % *** 1.404840e-51 url\\legacy-vs-whatwg-url-searchparams-parse.js n=100000 method="whatwg" type="encodefake" -10.75 % *** 5.581615e-23 url\\legacy-vs-whatwg-url-searchparams-parse.js n=100000 method="whatwg" type="encodelast" -9.40 % *** 2.358757e-32 url\\legacy-vs-whatwg-url-searchparams-parse.js n=100000 method="whatwg" type="encodemany" -2.84 % *** 2.638015e-10 url\\legacy-vs-whatwg-url-searchparams-parse.js n=100000 method="whatwg" type="manyblankpairs" -31.54 % *** 3.377100e-53 url\\legacy-vs-whatwg-url-searchparams-parse.js n=100000 method="whatwg" type="manypairs" 35.70 % *** 4.250240e-50 url\\legacy-vs-whatwg-url-searchparams-parse.js n=100000 method="whatwg" type="multicharsep" -9.30 % *** 4.442361e-21 url\\legacy-vs-whatwg-url-searchparams-parse.js n=100000 method="whatwg" type="multivalue" -5.55 % *** 1.122990e-26 url\\legacy-vs-whatwg-url-searchparams-parse.js n=100000 method="whatwg" type="multivaluemany" -13.67 % *** 8.816168e-40 url\\legacy-vs-whatwg-url-searchparams-parse.js n=100000 method="whatwg" type="noencode" -11.04 % *** 8.930977e-22 url\\legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method="legacy" type="altspaces" -38.20 % *** 1.371476e-40 url\\legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method="legacy" type="encodefake" -29.33 % *** 3.796764e-41 url\\legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method="legacy" type="encodelast" -17.64 % *** 9.479205e-38 url\\legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method="legacy" type="encodemany" -15.80 % *** 9.898271e-28 url\\legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method="legacy" type="manyblankpairs" -25.85 % *** 9.208104e-36 url\\legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method="legacy" type="manypairs" -7.40 % *** 2.529692e-26 url\\legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method="legacy" type="multicharsep" -17.07 % *** 1.035808e-29 url\\legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method="legacy" type="multivalue" -13.49 % *** 1.196666e-31 url\\legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method="legacy" type="multivaluemany" -9.98 % *** 4.374953e-32 url\\legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method="legacy" type="noencode" -17.37 % *** 2.798452e-41 url\\legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method="whatwg" type="altspaces" -34.87 % *** 2.000988e-44 url\\legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method="whatwg" type="encodefake" -24.12 % *** 9.944973e-42 url\\legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method="whatwg" type="encodelast" -2.28 % *** 8.334588e-07 url\\legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method="whatwg" type="encodemany" -2.31 % *** 6.106178e-05 url\\legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method="whatwg" type="manyblankpairs" -18.84 % *** 3.308262e-21 url\\legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method="whatwg" type="manypairs" -2.90 % *** 1.820190e-08 url\\legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method="whatwg" type="multicharsep" -2.40 % *** 2.367131e-05 url\\legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method="whatwg" type="multivalue" -4.30 % *** 3.218007e-12 url\\legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method="whatwg" type="multivaluemany" -4.80 % *** 2.103796e-14 url\\legacy-vs-whatwg-url-searchparams-serialize.js n=1000000 method="whatwg" type="noencode" -2.66 % *** 2.926273e-07 url\\legacy-vs-whatwg-url-serialize.js n=100000 method="legacy" type="auth" -51.73 % *** 4.379512e-51 url\\legacy-vs-whatwg-url-serialize.js n=100000 method="legacy" type="dot" -5.18 % *** 1.735350e-24 url\\legacy-vs-whatwg-url-serialize.js n=100000 method="legacy" type="file" -5.89 % *** 1.226933e-20 url\\legacy-vs-whatwg-url-serialize.js n=100000 method="legacy" type="idn" -2.28 % *** 2.800866e-10 url\\legacy-vs-whatwg-url-serialize.js n=100000 method="legacy" type="javascript" 13.51 % *** 4.329471e-45 url\\legacy-vs-whatwg-url-serialize.js n=100000 method="legacy" type="long" -12.73 % *** 2.274410e-27 url\\legacy-vs-whatwg-url-serialize.js n=100000 method="legacy" type="percent" -4.31 % *** 3.444205e-13 url\\legacy-vs-whatwg-url-serialize.js n=100000 method="legacy" type="short" -3.60 % *** 1.365628e-13 url\\legacy-vs-whatwg-url-serialize.js n=100000 method="legacy" type="ws" -8.52 % *** 1.231807e-38 url\\legacy-vs-whatwg-url-serialize.js n=100000 method="whatwg" type="auth" -27.34 % *** 5.465109e-50 url\\legacy-vs-whatwg-url-serialize.js n=100000 method="whatwg" type="dot" -28.28 % *** 1.288086e-58 url\\legacy-vs-whatwg-url-serialize.js n=100000 method="whatwg" type="file" -35.34 % *** 4.934594e-74 url\\legacy-vs-whatwg-url-serialize.js n=100000 method="whatwg" type="idn" -30.77 % *** 3.725545e-59 url\\legacy-vs-whatwg-url-serialize.js n=100000 method="whatwg" type="javascript" -42.18 % *** 8.087409e-58 url\\legacy-vs-whatwg-url-serialize.js n=100000 method="whatwg" type="long" -34.16 % *** 2.065759e-56 url\\legacy-vs-whatwg-url-serialize.js n=100000 method="whatwg" type="percent" -31.25 % *** 6.367013e-51 url\\legacy-vs-whatwg-url-serialize.js n=100000 method="whatwg" type="short" -33.69 % *** 6.343895e-52 url\\legacy-vs-whatwg-url-serialize.js n=100000 method="whatwg" type="ws" -30.20 % *** 2.051514e-52 url\\url-format.js n=25000000 type="file" 2.21 % *** 1.136270e-07 url\\url-format.js n=25000000 type="slashes" 10.82 % *** 1.191810e-39 url\\url-resolve.js n=100000 path="down" href="auth" -3.12 % *** 1.876031e-11 url\\url-resolve.js n=100000 path="down" href="dot" 0.66 % * 4.852259e-02 url\\url-resolve.js n=100000 path="down" href="file" 57.66 % *** 2.305978e-79 url\\url-resolve.js n=100000 path="down" href="idn" 0.68 % ** 6.882208e-03 url\\url-resolve.js n=100000 path="down" href="javascript" 25.13 % *** 1.492438e-55 url\\url-resolve.js n=100000 path="down" href="long" -1.08 % *** 1.791669e-06 url\\url-resolve.js n=100000 path="down" href="noscheme" -8.51 % *** 5.063194e-18 url\\url-resolve.js n=100000 path="down" href="percent" 59.67 % *** 5.046567e-81 url\\url-resolve.js n=100000 path="down" href="short" 2.48 % *** 3.496543e-10 url\\url-resolve.js n=100000 path="down" href="ws" 17.53 % *** 1.419044e-50 url\\url-resolve.js n=100000 path="foo/bar" href="auth" -7.60 % *** 2.216584e-21 url\\url-resolve.js n=100000 path="foo/bar" href="dot" 1.60 % *** 1.993903e-05 url\\url-resolve.js n=100000 path="foo/bar" href="file" 55.15 % *** 2.840973e-81 url\\url-resolve.js n=100000 path="foo/bar" href="idn" -1.34 % *** 3.903494e-04 url\\url-resolve.js n=100000 path="foo/bar" href="javascript" 25.80 % *** 1.284336e-72 url\\url-resolve.js n=100000 path="foo/bar" href="long" -4.51 % *** 5.230985e-31 url\\url-resolve.js n=100000 path="foo/bar" href="noscheme" -8.54 % *** 7.546034e-23 url\\url-resolve.js n=100000 path="foo/bar" href="percent" 54.50 % *** 1.572397e-81 url\\url-resolve.js n=100000 path="foo/bar" href="short" -1.24 % ** 3.113847e-03 url\\url-resolve.js n=100000 path="foo/bar" href="ws" 17.65 % *** 2.496146e-49 url\\url-resolve.js n=100000 path="sibling" href="auth" -2.36 % *** 4.817946e-08 url\\url-resolve.js n=100000 path="sibling" href="dot" 1.18 % ** 1.966300e-03 url\\url-resolve.js n=100000 path="sibling" href="file" 63.13 % *** 1.468631e-87 url\\url-resolve.js n=100000 path="sibling" href="idn" 0.09 % 7.115274e-01 url\\url-resolve.js n=100000 path="sibling" href="javascript" 23.15 % *** 2.968431e-52 url\\url-resolve.js n=100000 path="sibling" href="long" -1.46 % *** 9.864590e-06 url\\url-resolve.js n=100000 path="sibling" href="noscheme" -7.02 % *** 6.240868e-22 url\\url-resolve.js n=100000 path="sibling" href="percent" 63.87 % *** 5.207680e-87 url\\url-resolve.js n=100000 path="sibling" href="short" 0.31 % 3.489059e-01 url\\url-resolve.js n=100000 path="sibling" href="ws" 16.66 % *** 6.019323e-55 url\\url-resolve.js n=100000 path="up" href="auth" -3.18 % *** 6.211091e-14 url\\url-resolve.js n=100000 path="up" href="dot" 2.48 % *** 2.235447e-11 url\\url-resolve.js n=100000 path="up" href="file" 64.16 % *** 1.120646e-60 url\\url-resolve.js n=100000 path="up" href="idn" 2.05 % *** 7.035095e-11 url\\url-resolve.js n=100000 path="up" href="javascript" 23.82 % *** 1.183798e-55 url\\url-resolve.js n=100000 path="up" href="long" -0.12 % 5.914309e-01 url\\url-resolve.js n=100000 path="up" href="noscheme" -3.24 % *** 5.245393e-13 url\\url-resolve.js n=100000 path="up" href="percent" 62.59 % *** 9.910767e-85 url\\url-resolve.js n=100000 path="up" href="short" 0.86 % * 1.166051e-02 url\\url-resolve.js n=100000 path="up" href="ws" 17.43 % *** 2.954736e-63 url\\url-resolve.js n=100000 path="withscheme" href="auth" -1.94 % *** 3.003200e-05 url\\url-resolve.js n=100000 path="withscheme" href="dot" 3.15 % *** 8.889146e-11 url\\url-resolve.js n=100000 path="withscheme" href="file" 80.29 % *** 2.949170e-80 url\\url-resolve.js n=100000 path="withscheme" href="idn" 4.70 % *** 1.548568e-23 url\\url-resolve.js n=100000 path="withscheme" href="javascript" 0.93 % * 1.054471e-02 url\\url-resolve.js n=100000 path="withscheme" href="long" 4.39 % *** 1.507388e-21 url\\url-resolve.js n=100000 path="withscheme" href="noscheme" -4.35 % *** 2.632984e-12 url\\url-resolve.js n=100000 path="withscheme" href="percent" 78.78 % *** 2.885921e-85 url\\url-resolve.js n=100000 path="withscheme" href="short" 3.95 % *** 6.668780e-13 url\\url-resolve.js n=100000 path="withscheme" href="ws" 2.31 % *** 9.448911e-11 url\\url-searchparams-iteration.js n=1000000 method="forEach" -6.36 % *** 6.228921e-23 url\\url-searchparams-iteration.js n=1000000 method="iterator" 44.89 % *** 2.507953e-75 url\\url-searchparams-read.js n=1000000 param="nonexistent" method="get" -2.40 % *** 6.349718e-09 url\\url-searchparams-read.js n=1000000 param="nonexistent" method="getAll" -5.26 % *** 3.396310e-20 url\\url-searchparams-read.js n=1000000 param="nonexistent" method="has" 2.03 % *** 2.035114e-04 url\\url-searchparams-read.js n=1000000 param="one" method="get" -6.95 % *** 5.136380e-17 url\\url-searchparams-read.js n=1000000 param="one" method="getAll" -1.00 % *** 1.246260e-04 url\\url-searchparams-read.js n=1000000 param="one" method="has" -5.98 % *** 4.260513e-24 url\\url-searchparams-read.js n=1000000 param="three" method="get" -4.27 % *** 1.108214e-18 url\\url-searchparams-read.js n=1000000 param="three" method="getAll" -6.90 % *** 1.815173e-23 url\\url-searchparams-read.js n=1000000 param="three" method="has" 0.00 % 9.966544e-01 url\\url-searchparams-read.js n=1000000 param="two" method="get" -5.57 % *** 2.739023e-16 url\\url-searchparams-read.js n=1000000 param="two" method="getAll" -5.53 % *** 7.586545e-21 url\\url-searchparams-read.js n=1000000 param="two" method="has" -1.92 % *** 6.239710e-08 url\\url-searchparams-sort.js n=1000000 type="almostsorted" 2.35 % *** 1.322935e-05 url\\url-searchparams-sort.js n=1000000 type="empty" -21.89 % *** 2.378564e-48 url\\url-searchparams-sort.js n=1000000 type="long" 5.88 % *** 9.087719e-17 url\\url-searchparams-sort.js n=1000000 type="random" 2.00 % 5.024592e-02 url\\url-searchparams-sort.js n=1000000 type="reversed" 2.29 % *** 5.462454e-12 url\\url-searchparams-sort.js n=1000000 type="short" 1.89 % *** 2.360603e-08 url\\url-searchparams-sort.js n=1000000 type="sorted" 5.70 % *** 2.041392e-23 url\\usvstring.js n=50000000 input="allinvalid" -18.33 % *** 7.074157e-42 url\\usvstring.js n=50000000 input="nonstring" 3.36 % *** 2.835381e-26 url\\usvstring.js n=50000000 input="someinvalid" -20.13 % *** 3.506343e-41 url\\usvstring.js n=50000000 input="valid" -17.29 % *** 7.099021e-61 url\\usvstring.js n=50000000 input="validsurr" -6.33 % *** 1.076393e-44 url\\whatwg-url-idna.js n=5000000 to="ascii" input="all" -6.92 % *** 1.017367e-54 url\\whatwg-url-idna.js n=5000000 to="ascii" input="empty" -45.72 % *** 2.164783e-51 url\\whatwg-url-idna.js n=5000000 to="ascii" input="none" -16.72 % *** 8.775029e-40 url\\whatwg-url-idna.js n=5000000 to="ascii" input="nonstring" -25.84 % *** 1.076997e-58 url\\whatwg-url-idna.js n=5000000 to="ascii" input="some" -6.34 % *** 1.003916e-38 url\\whatwg-url-idna.js n=5000000 to="unicode" input="all" 4.72 % *** 1.042363e-48 url\\whatwg-url-idna.js n=5000000 to="unicode" input="empty" -45.95 % *** 5.020348e-42 url\\whatwg-url-idna.js n=5000000 to="unicode" input="none" -7.51 % *** 1.010640e-34 url\\whatwg-url-idna.js n=5000000 to="unicode" input="nonstring" -27.50 % *** 4.037907e-63 url\\whatwg-url-idna.js n=5000000 to="unicode" input="some" 3.37 % *** 6.093441e-47 url\\whatwg-url-properties.js n=10000 prop="hash" input="auth" -13.05 % *** 2.634506e-30 url\\whatwg-url-properties.js n=10000 prop="hash" input="dot" -12.87 % *** 3.142510e-34 url\\whatwg-url-properties.js n=10000 prop="hash" input="file" -12.25 % *** 1.737973e-35 url\\whatwg-url-properties.js n=10000 prop="hash" input="idn" -12.61 % *** 3.513764e-31 url\\whatwg-url-properties.js n=10000 prop="hash" input="javascript" 50.86 % *** 1.262411e-51 url\\whatwg-url-properties.js n=10000 prop="hash" input="long" -11.76 % *** 1.310080e-35 url\\whatwg-url-properties.js n=10000 prop="hash" input="percent" -13.48 % *** 6.087931e-33 url\\whatwg-url-properties.js n=10000 prop="hash" input="short" -12.11 % *** 1.362106e-30 url\\whatwg-url-properties.js n=10000 prop="hash" input="ws" -11.87 % *** 1.085072e-38 url\\whatwg-url-properties.js n=10000 prop="host" input="auth" -4.81 % *** 8.595136e-17 url\\whatwg-url-properties.js n=10000 prop="host" input="dot" -4.59 % *** 1.993239e-17 url\\whatwg-url-properties.js n=10000 prop="host" input="file" -5.18 % *** 1.870640e-21 url\\whatwg-url-properties.js n=10000 prop="host" input="idn" -4.32 % *** 3.969293e-17 url\\whatwg-url-properties.js n=10000 prop="host" input="javascript" 38.02 % *** 7.908134e-24 url\\whatwg-url-properties.js n=10000 prop="host" input="long" -3.15 % *** 4.817165e-16 url\\whatwg-url-properties.js n=10000 prop="host" input="percent" -5.10 % *** 2.164275e-21 url\\whatwg-url-properties.js n=10000 prop="host" input="short" -4.08 % *** 1.470347e-16 url\\whatwg-url-properties.js n=10000 prop="host" input="ws" -4.67 % *** 4.359596e-17 url\\whatwg-url-properties.js n=10000 prop="hostname" input="auth" -2.99 % *** 9.807744e-10 url\\whatwg-url-properties.js n=10000 prop="hostname" input="dot" -4.26 % *** 4.912310e-12 url\\whatwg-url-properties.js n=10000 prop="hostname" input="file" -3.11 % *** 6.699793e-07 url\\whatwg-url-properties.js n=10000 prop="hostname" input="idn" -4.22 % *** 3.396294e-13 url\\whatwg-url-properties.js n=10000 prop="hostname" input="javascript" 49.62 % *** 1.981183e-37 url\\whatwg-url-properties.js n=10000 prop="hostname" input="long" -3.80 % *** 1.562894e-10 url\\whatwg-url-properties.js n=10000 prop="hostname" input="percent" -4.51 % *** 1.431079e-15 url\\whatwg-url-properties.js n=10000 prop="hostname" input="short" -3.87 % *** 2.053252e-11 url\\whatwg-url-properties.js n=10000 prop="hostname" input="ws" -3.86 % *** 1.262418e-12 url\\whatwg-url-properties.js n=10000 prop="href" input="auth" -4.79 % *** 4.013623e-14 url\\whatwg-url-properties.js n=10000 prop="href" input="dot" -6.14 % *** 2.150363e-19 url\\whatwg-url-properties.js n=10000 prop="href" input="file" -5.48 % *** 1.590497e-18 url\\whatwg-url-properties.js n=10000 prop="href" input="idn" -5.34 % *** 6.377817e-16 url\\whatwg-url-properties.js n=10000 prop="href" input="javascript" -5.73 % *** 5.289524e-22 url\\whatwg-url-properties.js n=10000 prop="href" input="long" -5.19 % *** 2.087097e-17 url\\whatwg-url-properties.js n=10000 prop="href" input="percent" -5.33 % *** 7.574755e-17 url\\whatwg-url-properties.js n=10000 prop="href" input="short" -5.84 % *** 1.909005e-20 url\\whatwg-url-properties.js n=10000 prop="href" input="ws" -4.79 % *** 3.236116e-16 url\\whatwg-url-properties.js n=10000 prop="origin" input="auth" -7.60 % *** 2.831374e-08 url\\whatwg-url-properties.js n=10000 prop="origin" input="dot" -6.90 % *** 4.798042e-17 url\\whatwg-url-properties.js n=10000 prop="origin" input="file" 6.93 % *** 8.729391e-09 url\\whatwg-url-properties.js n=10000 prop="origin" input="idn" 3.23 % *** 1.238775e-30 url\\whatwg-url-properties.js n=10000 prop="origin" input="javascript" 6.81 % *** 4.992687e-07 url\\whatwg-url-properties.js n=10000 prop="origin" input="long" -8.67 % *** 8.268461e-31 url\\whatwg-url-properties.js n=10000 prop="origin" input="percent" -2.96 % *** 1.995345e-11 url\\whatwg-url-properties.js n=10000 prop="origin" input="short" -9.09 % *** 1.326430e-39 url\\whatwg-url-properties.js n=10000 prop="origin" input="ws" -9.85 % *** 2.241308e-25 url\\whatwg-url-properties.js n=10000 prop="password" input="auth" 18.63 % *** 5.568602e-25 url\\whatwg-url-properties.js n=10000 prop="password" input="dot" 15.84 % *** 9.368072e-31 url\\whatwg-url-properties.js n=10000 prop="password" input="file" 86.69 % *** 1.938197e-34 url\\whatwg-url-properties.js n=10000 prop="password" input="idn" 15.81 % *** 2.129617e-30 url\\whatwg-url-properties.js n=10000 prop="password" input="javascript" 88.89 % *** 2.679697e-64 url\\whatwg-url-properties.js n=10000 prop="password" input="long" 16.81 % *** 5.568713e-29 url\\whatwg-url-properties.js n=10000 prop="password" input="percent" 15.69 % *** 2.482159e-23 url\\whatwg-url-properties.js n=10000 prop="password" input="short" 17.05 % *** 3.539161e-28 url\\whatwg-url-properties.js n=10000 prop="password" input="ws" 15.76 % *** 4.664430e-27 url\\whatwg-url-properties.js n=10000 prop="pathname" input="auth" -12.64 % *** 5.152179e-35 url\\whatwg-url-properties.js n=10000 prop="pathname" input="dot" -9.69 % *** 3.694581e-28 url\\whatwg-url-properties.js n=10000 prop="pathname" input="file" -9.73 % *** 7.444527e-29 url\\whatwg-url-properties.js n=10000 prop="pathname" input="idn" -10.30 % *** 2.487335e-35 url\\whatwg-url-properties.js n=10000 prop="pathname" input="javascript" 15.95 % *** 1.536945e-24 url\\whatwg-url-properties.js n=10000 prop="pathname" input="long" -10.00 % *** 1.407055e-31 url\\whatwg-url-properties.js n=10000 prop="pathname" input="percent" -10.80 % *** 6.089620e-29 url\\whatwg-url-properties.js n=10000 prop="pathname" input="short" -10.44 % *** 1.002774e-29 url\\whatwg-url-properties.js n=10000 prop="pathname" input="ws" -9.63 % *** 1.597101e-32 url\\whatwg-url-properties.js n=10000 prop="port" input="auth" -2.29 % *** 5.943297e-08 url\\whatwg-url-properties.js n=10000 prop="port" input="dot" -3.78 % *** 2.046475e-16 url\\whatwg-url-properties.js n=10000 prop="port" input="file" 69.79 % *** 2.031454e-46 url\\whatwg-url-properties.js n=10000 prop="port" input="idn" -4.19 % *** 1.942649e-15 url\\whatwg-url-properties.js n=10000 prop="port" input="javascript" 71.72 % *** 3.124656e-52 url\\whatwg-url-properties.js n=10000 prop="port" input="long" -4.53 % *** 8.561101e-18 url\\whatwg-url-properties.js n=10000 prop="port" input="percent" -3.07 % *** 4.260172e-12 url\\whatwg-url-properties.js n=10000 prop="port" input="short" -3.25 % *** 5.006745e-16 url\\whatwg-url-properties.js n=10000 prop="port" input="ws" -4.20 % *** 3.139579e-16 url\\whatwg-url-properties.js n=10000 prop="protocol" input="auth" -7.56 % *** 6.618186e-18 url\\whatwg-url-properties.js n=10000 prop="protocol" input="dot" -6.44 % *** 2.919348e-14 url\\whatwg-url-properties.js n=10000 prop="protocol" input="file" -6.11 % *** 1.796060e-16 url\\whatwg-url-properties.js n=10000 prop="protocol" input="idn" -6.27 % *** 6.620996e-15 url\\whatwg-url-properties.js n=10000 prop="protocol" input="javascript" -4.14 % *** 3.200331e-11 url\\whatwg-url-properties.js n=10000 prop="protocol" input="long" -4.12 % *** 2.973464e-04 url\\whatwg-url-properties.js n=10000 prop="protocol" input="percent" -6.37 % *** 3.744318e-16 url\\whatwg-url-properties.js n=10000 prop="protocol" input="short" -5.61 % *** 4.764372e-13 url\\whatwg-url-properties.js n=10000 prop="protocol" input="ws" -4.82 % *** 5.709715e-14 url\\whatwg-url-properties.js n=10000 prop="search" input="auth" 3.56 % *** 2.782816e-08 url\\whatwg-url-properties.js n=10000 prop="search" input="dot" 2.82 % *** 2.137876e-07 url\\whatwg-url-properties.js n=10000 prop="search" input="file" 1.59 % 7.033034e-02 url\\whatwg-url-properties.js n=10000 prop="search" input="idn" 1.50 % ** 9.755151e-03 url\\whatwg-url-properties.js n=10000 prop="search" input="javascript" 1.18 % 7.517150e-02 url\\whatwg-url-properties.js n=10000 prop="search" input="long" 3.28 % *** 6.054618e-07 url\\whatwg-url-properties.js n=10000 prop="search" input="percent" 3.34 % *** 3.786630e-09 url\\whatwg-url-properties.js n=10000 prop="search" input="short" 2.76 % *** 1.575200e-04 url\\whatwg-url-properties.js n=10000 prop="search" input="ws" 2.06 % ** 2.509838e-03 url\\whatwg-url-properties.js n=10000 prop="searchParams" input="auth" 170.44 % *** 4.234964e-71 url\\whatwg-url-properties.js n=10000 prop="searchParams" input="dot" 164.03 % *** 9.941064e-68 url\\whatwg-url-properties.js n=10000 prop="searchParams" input="file" 166.02 % *** 2.458205e-62 url\\whatwg-url-properties.js n=10000 prop="searchParams" input="idn" 165.76 % *** 2.372835e-40 url\\whatwg-url-properties.js n=10000 prop="searchParams" input="javascript" 167.64 % *** 2.012943e-55 url\\whatwg-url-properties.js n=10000 prop="searchParams" input="long" 163.47 % *** 1.100228e-36 url\\whatwg-url-properties.js n=10000 prop="searchParams" input="percent" 162.82 % *** 1.198895e-41 url\\whatwg-url-properties.js n=10000 prop="searchParams" input="short" 170.57 % *** 2.259498e-74 url\\whatwg-url-properties.js n=10000 prop="searchParams" input="ws" 165.36 % *** 5.683900e-46 url\\whatwg-url-properties.js n=10000 prop="username" input="auth" 19.15 % *** 2.575329e-34 url\\whatwg-url-properties.js n=10000 prop="username" input="dot" 17.37 % *** 3.630928e-27 url\\whatwg-url-properties.js n=10000 prop="username" input="file" 83.67 % *** 6.575456e-46 url\\whatwg-url-properties.js n=10000 prop="username" input="idn" 17.98 % *** 5.385188e-33 url\\whatwg-url-properties.js n=10000 prop="username" input="javascript" 82.92 % *** 3.592966e-35 url\\whatwg-url-properties.js n=10000 prop="username" input="long" 18.19 % *** 2.593662e-36 url\\whatwg-url-properties.js n=10000 prop="username" input="percent" 18.24 % *** 8.653417e-39 url\\whatwg-url-properties.js n=10000 prop="username" input="short" 15.88 % *** 5.294615e-27 url\\whatwg-url-properties.js n=10000 prop="username" input="ws" 17.22 % *** 6.998943e-27 ```
vsemozhetbyt commented 7 years ago

The last suite.

util: ``` improvement confidence p.value util\\format.js type="no-replace" n=1000000 3.52 % *** 2.300325e-20 util\\format.js type="number" n=1000000 -72.27 % *** 1.272147e-49 util\\format.js type="object" n=1000000 -31.42 % *** 6.317101e-45 util\\format.js type="string" n=1000000 -72.66 % *** 8.318604e-55 util\\format.js type="unknown" n=1000000 -65.93 % *** 5.048714e-92 util\\inspect-proxy.js n=1000000 v=1 -0.82 % *** 8.354899e-04 util\\inspect-proxy.js n=1000000 v=2 0.43 % 1.797406e-01 util\\inspect.js n=5000000 4.30 % *** 3.568230e-27 util\\normalize-encoding.js n=100000 input="" -57.84 % *** 5.757415e-36 util\\normalize-encoding.js n=100000 input="[]" -8.83 % *** 3.635484e-21 util\\normalize-encoding.js n=100000 input="1" -20.57 % *** 3.098413e-44 util\\normalize-encoding.js n=100000 input="base64" -36.86 % *** 4.703203e-60 util\\normalize-encoding.js n=100000 input="BASE64" -31.97 % *** 5.454870e-58 util\\normalize-encoding.js n=100000 input="binary" -38.93 % *** 2.731996e-35 util\\normalize-encoding.js n=100000 input="BINARY" -32.30 % *** 1.343991e-45 util\\normalize-encoding.js n=100000 input="false" -59.39 % *** 1.940626e-48 util\\normalize-encoding.js n=100000 input="foo" -33.22 % *** 4.522212e-59 util\\normalize-encoding.js n=100000 input="group_common" -33.62 % *** 1.910655e-43 util\\normalize-encoding.js n=100000 input="group_misc" -18.14 % *** 4.468980e-41 util\\normalize-encoding.js n=100000 input="group_uncommon" -38.04 % *** 4.374311e-40 util\\normalize-encoding.js n=100000 input="group_upper" -19.29 % *** 1.042609e-25 util\\normalize-encoding.js n=100000 input="hex" -35.69 % *** 1.748319e-58 util\\normalize-encoding.js n=100000 input="HEX" -32.11 % *** 5.283979e-60 util\\normalize-encoding.js n=100000 input="latin1" -44.70 % *** 6.491027e-53 util\\normalize-encoding.js n=100000 input="ucs2" -45.57 % *** 9.186528e-50 util\\normalize-encoding.js n=100000 input="UCS2" -37.59 % *** 9.180225e-45 util\\normalize-encoding.js n=100000 input="undefined" -59.37 % *** 4.134435e-38 util\\normalize-encoding.js n=100000 input="utf-16le" -44.90 % *** 7.891071e-50 util\\normalize-encoding.js n=100000 input="UTF-16LE" -35.28 % *** 3.941014e-48 util\\normalize-encoding.js n=100000 input="utf-8" -49.98 % *** 2.161624e-54 util\\normalize-encoding.js n=100000 input="utF-8" -33.75 % *** 9.738238e-48 util\\normalize-encoding.js n=100000 input="uTf-8" -33.67 % *** 1.084618e-36 util\\normalize-encoding.js n=100000 input="UTF-8" -35.61 % *** 9.109863e-50 util\\normalize-encoding.js n=100000 input="utf16le" -46.45 % *** 1.365423e-44 util\\normalize-encoding.js n=100000 input="UTF16LE" -34.85 % *** 1.335203e-45 util\\normalize-encoding.js n=100000 input="utf8" -50.38 % *** 1.338962e-58 util\\normalize-encoding.js n=100000 input="Utf8" -37.45 % *** 1.124196e-53 util\\normalize-encoding.js n=100000 input="UTF8" -38.18 % *** 2.279434e-58 ```
claudiorodriguez commented 7 years ago

When would we expect to have this land? Seems like being prepared with some refactoring of core libs and internals would go a long way

targos commented 7 years ago

On master, this won't land before June

vsemozhetbyt commented 7 years ago

FWIW: Here are 3 suites performed previously by @targos (on *nix?) here, here, and here — and now performed on Windows as the other suites. vm suite has most notable differences due to different n arguments (200000 vs default 1).

streams: ``` improvement confidence p.value streams\\readable-bigread.js n=1000 -17.60 % *** 2.188145e-39 streams\\readable-bigunevenread.js n=1000 -14.71 % *** 8.952692e-34 streams\\readable-boundaryread.js n=2000 -13.13 % *** 8.564883e-31 streams\\readable-readall.js n=5000 -14.74 % *** 2.377291e-42 streams\\readable-unevenread.js n=1000 -13.26 % *** 5.473820e-19 streams\\writable-manywrites.js n=2000000 -15.44 % *** 2.245030e-33 ```
timers: ``` improvement confidence p.value timers\\immediate.js type="breadth" thousands=2000 13.61 % *** 9.040825e-20 timers\\immediate.js type="breadth1" thousands=2000 11.29 % *** 3.955783e-19 timers\\immediate.js type="breadth4" thousands=2000 7.33 % *** 7.727951e-22 timers\\immediate.js type="clear" thousands=2000 20.89 % *** 2.369455e-35 timers\\immediate.js type="depth" thousands=2000 6.78 % *** 1.987398e-38 timers\\immediate.js type="depth1" thousands=2000 7.84 % *** 2.557152e-46 timers\\set-immediate-breadth-args.js millions=5 -4.05 % *** 4.449593e-05 timers\\set-immediate-breadth.js millions=10 16.72 % *** 1.136465e-43 timers\\set-immediate-depth-args.js millions=10 11.82 % *** 5.897423e-39 timers\\set-immediate-depth.js millions=10 1.77 % *** 6.841528e-10 timers\\timers-breadth.js thousands=500 3.36 % *** 4.310861e-24 timers\\timers-cancel-pooled.js thousands=500 1.03 % 1.787179e-01 timers\\timers-cancel-unpooled.js thousands=100 -0.44 % 7.711119e-01 timers\\timers-depth.js thousands=1 0.24 % ** 1.072972e-03 timers\\timers-insert-pooled.js thousands=500 -4.06 % *** 7.462975e-18 timers\\timers-insert-unpooled.js thousands=100 -6.09 % *** 7.852493e-37 timers\\timers-timeout-pooled.js thousands=500 121.48 % *** 4.629659e-30 ```
vm: ``` improvement confidence p.value vm\\run-in-context.js withSigintListener=0 breakOnSigint=0 n=1 -0.96 % 5.105984e-01 vm\\run-in-context.js withSigintListener=0 breakOnSigint=1 n=1 -4.87 % * 4.596951e-02 vm\\run-in-context.js withSigintListener=1 breakOnSigint=0 n=1 3.44 % 1.442365e-01 vm\\run-in-context.js withSigintListener=1 breakOnSigint=1 n=1 14.86 % *** 1.086548e-06 vm\\run-in-this-context.js withSigintListener=0 breakOnSigint=0 n=1 -4.59 % *** 6.585714e-05 vm\\run-in-this-context.js withSigintListener=0 breakOnSigint=1 n=1 70.57 % *** 1.027894e-19 vm\\run-in-this-context.js withSigintListener=1 breakOnSigint=0 n=1 -5.60 % *** 2.006588e-07 vm\\run-in-this-context.js withSigintListener=1 breakOnSigint=1 n=1 33.06 % *** 6.418536e-23 ```