buffer: make methods work on Uint8Array instances
Removes the reliance on prototype bound methods internally
so that Uint8Arrays can be set as the bound this value when calling
the various Buffer methods. Introduces some additional tamper protection
by removing internal reliance on writable properties.
Fixes: https://github.com/nodejs/node/issues/56577
Codecov Report
:x: Patch coverage is 91.12426% with 15 lines in your changes missing coverage. Please review.
:white_check_mark: Project coverage is 88.56%. Comparing base (525c4fb) to head (c21c210).
| Files with missing lines | Patch % | Lines |
|---|---|---|
| src/node_buffer.cc | 10.00% | 0 Missing and 9 partials :warning: |
| lib/internal/buffer.js | 95.00% | 6 Missing :warning: |
Additional details and impacted files
@@ Coverage Diff @@
## main #56578 +/- ##
==========================================
+ Coverage 88.54% 88.56% +0.01%
==========================================
Files 704 704
Lines 208087 208106 +19
Branches 40085 40080 -5
==========================================
+ Hits 184261 184314 +53
+ Misses 15880 15827 -53
- Partials 7946 7965 +19
| Files with missing lines | Coverage Δ | |
|---|---|---|
| lib/buffer.js | 100.00% <100.00%> (ø) |
|
| lib/internal/http2/core.js | 95.22% <100.00%> (ø) |
|
| lib/internal/buffer.js | 98.31% <95.00%> (-0.08%) |
:arrow_down: |
| src/node_buffer.cc | 68.67% <10.00%> (-0.21%) |
:arrow_down: |
:rocket: New features to boost your workflow:
- :snowflake: Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
- :package: JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.
Running:
node benchmark/compare.js --runs 10 --old ./node-main --new ./node-buffer-generic-methods buffers > compare-buffer-generic-methods.csv
Using the node version of the compare tool:
node-benchmark-compare compare-buffer-generic-methods.csv
Gave these results:
confidence improvement accuracy (*) (**) (***)
buffers/buffer-atob.js n=1000000 size=128 -0.33 % ±1.48% ±2.06% ±2.87%
buffers/buffer-atob.js n=1000000 size=16 -0.43 % ±1.89% ±2.60% ±3.57%
buffers/buffer-atob.js n=1000000 size=32 0.20 % ±2.27% ±3.12% ±4.27%
buffers/buffer-atob.js n=1000000 size=64 1.98 % ±2.06% ±2.95% ±4.29%
buffers/buffer-base64-decode-wrapped.js n=32 linesCount=524288 charsPerLine=76 1.88 % ±4.92% ±7.02% ±10.20%
buffers/buffer-base64-decode.js size=8388608 n=32 -3.53 % ±6.38% ±9.12% ±13.32%
buffers/buffer-base64-encode.js n=32 len=67108864 0.41 % ±3.63% ±4.97% ±6.77%
buffers/buffer-base64url-decode.js size=8388608 n=32 -1.71 % ±3.26% ±4.62% ±6.65%
buffers/buffer-base64url-encode.js n=32 len=67108864 0.95 % ±1.94% ±2.70% ±3.76%
buffers/buffer-btoa.js n=1000000 size=1024 -0.39 % ±0.72% ±0.99% ±1.35%
buffers/buffer-btoa.js n=1000000 size=128 -0.86 % ±1.39% ±1.90% ±2.59%
buffers/buffer-btoa.js n=1000000 size=16 0.09 % ±0.74% ±1.01% ±1.39%
buffers/buffer-btoa.js n=1000000 size=256 -0.85 % ±2.47% ±3.42% ±4.75%
buffers/buffer-btoa.js n=1000000 size=32 0.33 % ±0.54% ±0.74% ±1.01%
buffers/buffer-btoa.js n=1000000 size=64 -0.22 % ±0.73% ±1.03% ±1.46%
buffers/buffer-bytelength-buffer.js n=4000000 len=16 -0.05 % ±0.63% ±0.86% ±1.18%
buffers/buffer-bytelength-buffer.js n=4000000 len=2 -4.01 % ±8.08% ±11.59% ±17.02%
buffers/buffer-bytelength-buffer.js n=4000000 len=256 1.11 % ±1.67% ±2.36% ±3.38%
buffers/buffer-bytelength-string.js n=4000000 repeat=1 encoding='base64' type='four_bytes' 0.02 % ±0.68% ±0.95% ±1.33%
buffers/buffer-bytelength-string.js n=4000000 repeat=1 encoding='base64' type='latin1' 1.62 % ±3.25% ±4.45% ±6.07%
buffers/buffer-bytelength-string.js n=4000000 repeat=1 encoding='base64' type='one_byte' -0.63 % ±2.80% ±3.86% ±5.29%
buffers/buffer-bytelength-string.js n=4000000 repeat=1 encoding='base64' type='three_bytes' -0.52 % ±4.01% ±5.52% ±7.56%
buffers/buffer-bytelength-string.js n=4000000 repeat=1 encoding='base64' type='two_bytes' 0.72 % ±2.18% ±3.02% ±4.20%
buffers/buffer-bytelength-string.js n=4000000 repeat=1 encoding='utf8' type='four_bytes' -0.04 % ±0.68% ±0.94% ±1.28%
buffers/buffer-bytelength-string.js n=4000000 repeat=1 encoding='utf8' type='latin1' -2.31 % ±4.13% ±5.84% ±8.37%
buffers/buffer-bytelength-string.js n=4000000 repeat=1 encoding='utf8' type='one_byte' -1.07 % ±1.18% ±1.69% ±2.48%
buffers/buffer-bytelength-string.js n=4000000 repeat=1 encoding='utf8' type='three_bytes' -1.35 % ±3.37% ±4.76% ±6.82%
buffers/buffer-bytelength-string.js n=4000000 repeat=1 encoding='utf8' type='two_bytes' -0.15 % ±0.48% ±0.67% ±0.94%
buffers/buffer-bytelength-string.js n=4000000 repeat=16 encoding='base64' type='four_bytes' 0.05 % ±7.36% ±10.11% ±13.83%
buffers/buffer-bytelength-string.js n=4000000 repeat=16 encoding='base64' type='latin1' -0.07 % ±0.88% ±1.23% ±1.71%
buffers/buffer-bytelength-string.js n=4000000 repeat=16 encoding='base64' type='one_byte' -1.12 % ±3.74% ±5.14% ±7.01%
buffers/buffer-bytelength-string.js n=4000000 repeat=16 encoding='base64' type='three_bytes' 2.65 % ±3.43% ±4.72% ±6.47%
buffers/buffer-bytelength-string.js n=4000000 repeat=16 encoding='base64' type='two_bytes' 1.05 % ±4.78% ±6.64% ±9.22%
buffers/buffer-bytelength-string.js n=4000000 repeat=16 encoding='utf8' type='four_bytes' -0.94 % ±1.99% ±2.80% ±3.98%
buffers/buffer-bytelength-string.js n=4000000 repeat=16 encoding='utf8' type='latin1' 0.07 % ±1.60% ±2.22% ±3.11%
buffers/buffer-bytelength-string.js n=4000000 repeat=16 encoding='utf8' type='one_byte' 0.31 % ±0.80% ±1.11% ±1.57%
buffers/buffer-bytelength-string.js n=4000000 repeat=16 encoding='utf8' type='three_bytes' -1.70 % ±4.80% ±6.84% ±9.92%
buffers/buffer-bytelength-string.js n=4000000 repeat=16 encoding='utf8' type='two_bytes' -0.55 % ±0.98% ±1.36% ±1.86%
buffers/buffer-bytelength-string.js n=4000000 repeat=2 encoding='base64' type='four_bytes' 0.76 % ±3.63% ±4.98% ±6.79%
buffers/buffer-bytelength-string.js n=4000000 repeat=2 encoding='base64' type='latin1' -0.48 % ±2.06% ±2.91% ±4.15%
buffers/buffer-bytelength-string.js n=4000000 repeat=2 encoding='base64' type='one_byte' -2.11 % ±4.75% ±6.56% ±9.08%
buffers/buffer-bytelength-string.js n=4000000 repeat=2 encoding='base64' type='three_bytes' 0.18 % ±3.68% ±5.04% ±6.86%
buffers/buffer-bytelength-string.js n=4000000 repeat=2 encoding='base64' type='two_bytes' 1.22 % ±4.41% ±6.04% ±8.25%
buffers/buffer-bytelength-string.js n=4000000 repeat=2 encoding='utf8' type='four_bytes' -0.60 % ±2.68% ±3.68% ±5.01%
buffers/buffer-bytelength-string.js n=4000000 repeat=2 encoding='utf8' type='latin1' 0.33 % ±1.31% ±1.81% ±2.48%
buffers/buffer-bytelength-string.js n=4000000 repeat=2 encoding='utf8' type='one_byte' -0.88 % ±4.50% ±6.24% ±8.67%
buffers/buffer-bytelength-string.js n=4000000 repeat=2 encoding='utf8' type='three_bytes' -2.61 % ±6.54% ±9.34% ±13.61%
buffers/buffer-bytelength-string.js n=4000000 repeat=2 encoding='utf8' type='two_bytes' 0.03 % ±0.79% ±1.09% ±1.50%
buffers/buffer-bytelength-string.js n=4000000 repeat=256 encoding='base64' type='four_bytes' -0.36 % ±3.78% ±5.18% ±7.06%
buffers/buffer-bytelength-string.js n=4000000 repeat=256 encoding='base64' type='latin1' 2.73 % ±5.85% ±8.20% ±11.60%
buffers/buffer-bytelength-string.js n=4000000 repeat=256 encoding='base64' type='one_byte' 0.94 % ±2.95% ±4.04% ±5.51%
buffers/buffer-bytelength-string.js n=4000000 repeat=256 encoding='base64' type='three_bytes' -1.58 % ±2.79% ±4.00% ±5.85%
buffers/buffer-bytelength-string.js n=4000000 repeat=256 encoding='base64' type='two_bytes' -0.50 % ±4.02% ±5.54% ±7.61%
buffers/buffer-bytelength-string.js n=4000000 repeat=256 encoding='utf8' type='four_bytes' -0.41 % ±1.03% ±1.42% ±1.94%
buffers/buffer-bytelength-string.js n=4000000 repeat=256 encoding='utf8' type='latin1' 0.32 % ±0.86% ±1.18% ±1.62%
buffers/buffer-bytelength-string.js n=4000000 repeat=256 encoding='utf8' type='one_byte' ** -1.90 % ±1.27% ±1.82% ±2.67%
buffers/buffer-bytelength-string.js n=4000000 repeat=256 encoding='utf8' type='three_bytes' -0.47 % ±0.86% ±1.21% ±1.72%
buffers/buffer-bytelength-string.js n=4000000 repeat=256 encoding='utf8' type='two_bytes' -2.18 % ±3.98% ±5.69% ±8.31%
buffers/buffer-compare-instance-method.js n=1000000 args=1 size=16 -1.38 % ±2.93% ±4.08% ±5.70%
buffers/buffer-compare-instance-method.js n=1000000 args=1 size=16386 1.46 % ±1.62% ±2.28% ±3.24%
buffers/buffer-compare-instance-method.js n=1000000 args=1 size=4096 * -1.85 % ±1.40% ±1.98% ±2.84%
buffers/buffer-compare-instance-method.js n=1000000 args=1 size=512 0.17 % ±1.30% ±1.81% ±2.53%
buffers/buffer-compare-instance-method.js n=1000000 args=2 size=16 *** 2.89 % ±0.64% ±0.89% ±1.22%
buffers/buffer-compare-instance-method.js n=1000000 args=2 size=16386 1.50 % ±1.84% ±2.57% ±3.61%
buffers/buffer-compare-instance-method.js n=1000000 args=2 size=4096 * 3.19 % ±2.31% ±3.25% ±4.62%
buffers/buffer-compare-instance-method.js n=1000000 args=2 size=512 * 6.97 % ±6.06% ±8.71% ±12.80%
buffers/buffer-compare-instance-method.js n=1000000 args=5 size=16 *** 2.68 % ±1.05% ±1.46% ±2.04%
buffers/buffer-compare-instance-method.js n=1000000 args=5 size=16386 0.12 % ±1.20% ±1.64% ±2.24%
buffers/buffer-compare-instance-method.js n=1000000 args=5 size=4096 -0.68 % ±3.14% ±4.47% ±6.48%
buffers/buffer-compare-instance-method.js n=1000000 args=5 size=512 *** 2.84 % ±0.92% ±1.26% ±1.71%
buffers/buffer-compare-offset.js n=1000000 size=16 method='offset' *** 1.85 % ±0.50% ±0.69% ±0.95%
buffers/buffer-compare-offset.js n=1000000 size=16 method='slice' ** 1.07 % ±0.71% ±1.00% ±1.43%
buffers/buffer-compare-offset.js n=1000000 size=16386 method='offset' *** 2.51 % ±0.32% ±0.43% ±0.59%
buffers/buffer-compare-offset.js n=1000000 size=16386 method='slice' -0.41 % ±1.20% ±1.65% ±2.26%
buffers/buffer-compare-offset.js n=1000000 size=4096 method='offset' *** 2.96 % ±0.92% ±1.30% ±1.86%
buffers/buffer-compare-offset.js n=1000000 size=4096 method='slice' -0.18 % ±1.23% ±1.69% ±2.31%
buffers/buffer-compare-offset.js n=1000000 size=512 method='offset' *** 2.53 % ±0.64% ±0.88% ±1.22%
buffers/buffer-compare-offset.js n=1000000 size=512 method='slice' -0.38 % ±1.43% ±1.96% ±2.67%
buffers/buffer-compare.js n=1000000 size=16 0.33 % ±1.12% ±1.55% ±2.12%
buffers/buffer-compare.js n=1000000 size=16386 0.59 % ±1.41% ±1.97% ±2.76%
buffers/buffer-compare.js n=1000000 size=4096 0.27 % ±0.60% ±0.82% ±1.13%
buffers/buffer-compare.js n=1000000 size=512 0.53 % ±1.02% ±1.43% ±2.04%
buffers/buffer-concat-fill.js n=800000 extraSize=1 0.63 % ±2.30% ±3.18% ±4.40%
buffers/buffer-concat-fill.js n=800000 extraSize=1024 -0.05 % ±4.65% ±6.38% ±8.70%
buffers/buffer-concat-fill.js n=800000 extraSize=256 1.99 % ±4.19% ±5.79% ±7.97%
buffers/buffer-concat.js n=800000 withTotalLength=0 pieceSize=1 pieces=16 1.57 % ±1.98% ±2.74% ±3.81%
buffers/buffer-concat.js n=800000 withTotalLength=0 pieceSize=1 pieces=4 6.34 % ±8.16% ±11.62% ±16.88%
buffers/buffer-concat.js n=800000 withTotalLength=0 pieceSize=16 pieces=16 1.05 % ±7.05% ±9.66% ±13.16%
buffers/buffer-concat.js n=800000 withTotalLength=0 pieceSize=16 pieces=4 1.81 % ±9.27% ±12.71% ±17.31%
buffers/buffer-concat.js n=800000 withTotalLength=0 pieceSize=256 pieces=16 0.20 % ±2.85% ±3.91% ±5.33%
buffers/buffer-concat.js n=800000 withTotalLength=0 pieceSize=256 pieces=4 * 5.00 % ±4.50% ±6.34% ±9.02%
buffers/buffer-concat.js n=800000 withTotalLength=1 pieceSize=1 pieces=16 3.95 % ±4.90% ±6.87% ±9.71%
buffers/buffer-concat.js n=800000 withTotalLength=1 pieceSize=1 pieces=4 * 3.30 % ±3.03% ±4.18% ±5.75%
buffers/buffer-concat.js n=800000 withTotalLength=1 pieceSize=16 pieces=16 0.71 % ±2.41% ±3.31% ±4.52%
buffers/buffer-concat.js n=800000 withTotalLength=1 pieceSize=16 pieces=4 10.85 % ±12.14% ±17.33% ±25.23%
buffers/buffer-concat.js n=800000 withTotalLength=1 pieceSize=256 pieces=16 -0.86 % ±3.06% ±4.24% ±5.89%
buffers/buffer-concat.js n=800000 withTotalLength=1 pieceSize=256 pieces=4 3.84 % ±4.50% ±6.36% ±9.11%
buffers/buffer-copy.js n=6000000 partial='false' bytes=1024 -2.50 % ±6.74% ±9.67% ±14.20%
buffers/buffer-copy.js n=6000000 partial='false' bytes=128 0.22 % ±0.74% ±1.03% ±1.42%
buffers/buffer-copy.js n=6000000 partial='false' bytes=8 * 0.84 % ±0.84% ±1.18% ±1.67%
buffers/buffer-copy.js n=6000000 partial='true' bytes=1024 4.44 % ±8.55% ±12.28% ±18.06%
buffers/buffer-copy.js n=6000000 partial='true' bytes=128 0.48 % ±0.84% ±1.17% ±1.65%
buffers/buffer-copy.js n=6000000 partial='true' bytes=8 2.00 % ±3.93% ±5.61% ±8.19%
buffers/buffer-creation.js n=600000 len=10 type='fast-alloc-fill' 0.24 % ±2.53% ±3.49% ±4.81%
buffers/buffer-creation.js n=600000 len=10 type='fast-alloc' -1.11 % ±3.17% ±4.44% ±6.26%
buffers/buffer-creation.js n=600000 len=10 type='fast-allocUnsafe' 3.02 % ±4.03% ±5.67% ±8.06%
buffers/buffer-creation.js n=600000 len=10 type='slow-allocUnsafe' -0.09 % ±2.45% ±3.37% ±4.61%
buffers/buffer-creation.js n=600000 len=1024 type='fast-alloc-fill' 1.88 % ±8.54% ±11.79% ±16.26%
buffers/buffer-creation.js n=600000 len=1024 type='fast-alloc' 2.89 % ±8.55% ±11.76% ±16.15%
buffers/buffer-creation.js n=600000 len=1024 type='fast-allocUnsafe' 0.66 % ±2.98% ±4.09% ±5.58%
buffers/buffer-creation.js n=600000 len=1024 type='slow-allocUnsafe' 2.80 % ±6.70% ±9.22% ±12.65%
buffers/buffer-creation.js n=600000 len=4096 type='fast-alloc-fill' 0.37 % ±3.85% ±5.30% ±7.28%
buffers/buffer-creation.js n=600000 len=4096 type='fast-alloc' 0.10 % ±3.19% ±4.39% ±6.04%
buffers/buffer-creation.js n=600000 len=4096 type='fast-allocUnsafe' 0.95 % ±2.04% ±2.87% ±4.07%
buffers/buffer-creation.js n=600000 len=4096 type='slow-allocUnsafe' 0.24 % ±3.38% ±4.63% ±6.31%
buffers/buffer-creation.js n=600000 len=8192 type='fast-alloc-fill' -0.92 % ±4.70% ±6.48% ±8.90%
buffers/buffer-creation.js n=600000 len=8192 type='fast-alloc' 1.32 % ±7.52% ±10.37% ±14.26%
buffers/buffer-creation.js n=600000 len=8192 type='fast-allocUnsafe' -0.73 % ±6.19% ±8.49% ±11.59%
buffers/buffer-creation.js n=600000 len=8192 type='slow-allocUnsafe' 3.44 % ±7.31% ±10.12% ±14.03%
buffers/buffer-equals.js n=1000000 difflen='false' size=0 -0.72 % ±1.13% ±1.57% ±2.18%
buffers/buffer-equals.js n=1000000 difflen='false' size=16386 0.16 % ±0.25% ±0.35% ±0.47%
buffers/buffer-equals.js n=1000000 difflen='false' size=512 ** -1.11 % ±0.74% ±1.01% ±1.39%
buffers/buffer-equals.js n=1000000 difflen='true' size=0 -0.23 % ±1.02% ±1.40% ±1.92%
buffers/buffer-equals.js n=1000000 difflen='true' size=16386 -0.97 % ±1.56% ±2.21% ±3.16%
buffers/buffer-equals.js n=1000000 difflen='true' size=512 -0.71 % ±1.58% ±2.22% ±3.15%
buffers/buffer-fill.js n=20000 size=65536 type='fill()' * -0.68 % ±0.53% ±0.74% ±1.01%
buffers/buffer-fill.js n=20000 size=65536 type='fill(0)' -0.63 % ±1.01% ±1.39% ±1.90%
buffers/buffer-fill.js n=20000 size=65536 type='fill(100)' -0.68 % ±1.60% ±2.28% ±3.29%
buffers/buffer-fill.js n=20000 size=65536 type='fill(400)' 0.51 % ±1.18% ±1.67% ±2.42%
buffers/buffer-fill.js n=20000 size=65536 type='fill(Buffer.alloc(1), 0)' -0.84 % ±2.05% ±2.85% ±3.98%
buffers/buffer-fill.js n=20000 size=65536 type='fill(t, 0, utf8)' -0.86 % ±1.44% ±2.05% ±2.99%
buffers/buffer-fill.js n=20000 size=65536 type='fill(t, 0)' 0.62 % ±1.36% ±1.88% ±2.60%
buffers/buffer-fill.js n=20000 size=65536 type='fill(t, utf8)' -0.84 % ±0.87% ±1.21% ±1.68%
buffers/buffer-fill.js n=20000 size=65536 type='fill(t)' 0.67 % ±1.49% ±2.04% ±2.77%
buffers/buffer-fill.js n=20000 size=65536 type='fill(test)' -0.87 % ±2.72% ±3.80% ±5.33%
buffers/buffer-fill.js n=20000 size=8192 type='fill()' 0.39 % ±3.55% ±4.89% ±6.72%
buffers/buffer-fill.js n=20000 size=8192 type='fill(0)' -0.83 % ±7.11% ±9.76% ±13.34%
buffers/buffer-fill.js n=20000 size=8192 type='fill(100)' -3.35 % ±7.57% ±10.38% ±14.14%
buffers/buffer-fill.js n=20000 size=8192 type='fill(400)' 0.51 % ±6.61% ±9.05% ±12.33%
buffers/buffer-fill.js n=20000 size=8192 type='fill(Buffer.alloc(1), 0)' -1.45 % ±5.19% ±7.12% ±9.71%
buffers/buffer-fill.js n=20000 size=8192 type='fill(t, 0, utf8)' -0.07 % ±3.22% ±4.41% ±6.02%
buffers/buffer-fill.js n=20000 size=8192 type='fill(t, 0)' -1.44 % ±3.32% ±4.56% ±6.24%
buffers/buffer-fill.js n=20000 size=8192 type='fill(t, utf8)' 0.29 % ±3.81% ±5.22% ±7.11%
buffers/buffer-fill.js n=20000 size=8192 type='fill(t)' 0.89 % ±3.25% ±4.46% ±6.09%
buffers/buffer-fill.js n=20000 size=8192 type='fill(test)' -0.73 % ±1.47% ±2.01% ±2.75%
buffers/buffer-from.js n=800000 len=100 source='array' -0.07 % ±0.55% ±0.75% ±1.03%
buffers/buffer-from.js n=800000 len=100 source='arraybuffer-middle' 0.77 % ±1.00% ±1.39% ±1.92%
buffers/buffer-from.js n=800000 len=100 source='arraybuffer' -0.61 % ±1.61% ±2.22% ±3.03%
buffers/buffer-from.js n=800000 len=100 source='buffer' 0.67 % ±1.42% ±2.03% ±2.97%
buffers/buffer-from.js n=800000 len=100 source='object' 0.52 % ±2.74% ±3.75% ±5.12%
buffers/buffer-from.js n=800000 len=100 source='string-base64' -1.31 % ±6.36% ±9.11% ±13.32%
buffers/buffer-from.js n=800000 len=100 source='string-utf8' -0.31 % ±1.91% ±2.64% ±3.65%
buffers/buffer-from.js n=800000 len=100 source='string' -1.34 % ±1.59% ±2.23% ±3.16%
buffers/buffer-from.js n=800000 len=100 source='uint16array' 0.34 % ±1.80% ±2.56% ±3.71%
buffers/buffer-from.js n=800000 len=100 source='uint8array' 0.58 % ±2.25% ±3.09% ±4.23%
buffers/buffer-from.js n=800000 len=2048 source='array' 0.02 % ±0.51% ±0.70% ±0.95%
buffers/buffer-from.js n=800000 len=2048 source='arraybuffer-middle' -0.15 % ±0.85% ±1.17% ±1.62%
buffers/buffer-from.js n=800000 len=2048 source='arraybuffer' -0.87 % ±1.69% ±2.33% ±3.22%
buffers/buffer-from.js n=800000 len=2048 source='buffer' 3.15 % ±4.31% ±6.09% ±8.70%
buffers/buffer-from.js n=800000 len=2048 source='object' 0.10 % ±3.95% ±5.41% ±7.37%
buffers/buffer-from.js n=800000 len=2048 source='string-base64' -1.16 % ±1.91% ±2.62% ±3.59%
buffers/buffer-from.js n=800000 len=2048 source='string-utf8' -0.15 % ±2.00% ±2.79% ±3.92%
buffers/buffer-from.js n=800000 len=2048 source='string' 0.10 % ±3.59% ±4.93% ±6.76%
buffers/buffer-from.js n=800000 len=2048 source='uint16array' -0.45 % ±3.09% ±4.24% ±5.77%
buffers/buffer-from.js n=800000 len=2048 source='uint8array' -1.10 % ±2.50% ±3.55% ±5.14%
buffers/buffer-hex-decode.js n=1000000 len=1024 -0.66 % ±1.44% ±1.98% ±2.73%
buffers/buffer-hex-decode.js n=1000000 len=64 0.40 % ±1.32% ±1.85% ±2.63%
buffers/buffer-hex-encode.js n=1000000 len=1024 -1.44 % ±2.33% ±3.21% ±4.41%
buffers/buffer-hex-encode.js n=1000000 len=64 -5.64 % ±5.78% ±8.24% ±11.95%
buffers/buffer-indexof-number.js n=1000000 value=64 0.60 % ±1.87% ±2.58% ±3.56%
buffers/buffer-indexof.js n=50000 type='buffer' encoding='undefined' search='--l' 0.34 % ±0.80% ±1.10% ±1.53%
buffers/buffer-indexof.js n=50000 type='buffer' encoding='undefined' search='@' 0.22 % ±1.60% ±2.21% ±3.03%
buffers/buffer-indexof.js n=50000 type='buffer' encoding='undefined' search='</i> to the Caterpillar' 0.83 % ±1.06% ±1.48% ±2.07%
buffers/buffer-indexof.js n=50000 type='buffer' encoding='undefined' search='aaaaaaaaaaaaaaaaa' 0.08 % ±1.52% ±2.09% ±2.87%
buffers/buffer-indexof.js n=50000 type='buffer' encoding='undefined' search='Alice' 1.75 % ±5.86% ±8.11% ±11.24%
buffers/buffer-indexof.js n=50000 type='buffer' encoding='undefined' search='found it very' -2.06 % ±2.22% ±3.16% ±4.58%
buffers/buffer-indexof.js n=50000 type='buffer' encoding='undefined' search='Gryphon' -0.89 % ±1.44% ±2.01% ±2.81%
buffers/buffer-indexof.js n=50000 type='buffer' encoding='undefined' search='neighbouring pool' -0.74 % ±1.07% ±1.51% ±2.17%
buffers/buffer-indexof.js n=50000 type='buffer' encoding='undefined' search='Ou est ma chatte?' -0.77 % ±1.10% ±1.52% ±2.10%
buffers/buffer-indexof.js n=50000 type='buffer' encoding='undefined' search='SQ' 0.00 % ±0.66% ±0.90% ±1.24%
buffers/buffer-indexof.js n=50000 type='buffer' encoding='undefined' search='venture to go near the house till she had brought herself down to' 2.84 % ±4.43% ±6.34% ±9.26%
buffers/buffer-indexof.js n=50000 type='string' encoding='ucs2' search='--l' -1.10 % ±1.39% ±1.96% ±2.77%
buffers/buffer-indexof.js n=50000 type='string' encoding='ucs2' search='@' 0.96 % ±1.23% ±1.71% ±2.38%
buffers/buffer-indexof.js n=50000 type='string' encoding='ucs2' search='</i> to the Caterpillar' -1.21 % ±1.30% ±1.86% ±2.69%
buffers/buffer-indexof.js n=50000 type='string' encoding='ucs2' search='aaaaaaaaaaaaaaaaa' -0.61 % ±1.28% ±1.79% ±2.53%
buffers/buffer-indexof.js n=50000 type='string' encoding='ucs2' search='Alice' 3.11 % ±4.10% ±5.64% ±7.74%
buffers/buffer-indexof.js n=50000 type='string' encoding='ucs2' search='found it very' 0.14 % ±0.73% ±1.00% ±1.37%
buffers/buffer-indexof.js n=50000 type='string' encoding='ucs2' search='Gryphon' -0.56 % ±2.89% ±4.04% ±5.67%
buffers/buffer-indexof.js n=50000 type='string' encoding='ucs2' search='neighbouring pool' -0.19 % ±1.06% ±1.45% ±2.00%
buffers/buffer-indexof.js n=50000 type='string' encoding='ucs2' search='Ou est ma chatte?' -3.04 % ±6.25% ±8.95% ±13.10%
buffers/buffer-indexof.js n=50000 type='string' encoding='ucs2' search='SQ' -0.01 % ±0.56% ±0.76% ±1.04%
buffers/buffer-indexof.js n=50000 type='string' encoding='ucs2' search='venture to go near the house till she had brought herself down to' 1.35 % ±2.87% ±4.10% ±5.99%
buffers/buffer-indexof.js n=50000 type='string' encoding='utf8' search='--l' -1.20 % ±2.43% ±3.46% ±5.02%
buffers/buffer-indexof.js n=50000 type='string' encoding='utf8' search='@' 1.17 % ±1.57% ±2.21% ±3.13%
buffers/buffer-indexof.js n=50000 type='string' encoding='utf8' search='</i> to the Caterpillar' -0.39 % ±1.30% ±1.78% ±2.43%
buffers/buffer-indexof.js n=50000 type='string' encoding='utf8' search='aaaaaaaaaaaaaaaaa' 0.02 % ±1.08% ±1.48% ±2.02%
buffers/buffer-indexof.js n=50000 type='string' encoding='utf8' search='Alice' 4.10 % ±14.18% ±19.57% ±26.97%
buffers/buffer-indexof.js n=50000 type='string' encoding='utf8' search='found it very' -0.19 % ±0.89% ±1.23% ±1.69%
buffers/buffer-indexof.js n=50000 type='string' encoding='utf8' search='Gryphon' 0.67 % ±3.06% ±4.33% ±6.21%
buffers/buffer-indexof.js n=50000 type='string' encoding='utf8' search='neighbouring pool' -0.35 % ±0.95% ±1.30% ±1.77%
buffers/buffer-indexof.js n=50000 type='string' encoding='utf8' search='Ou est ma chatte?' -0.14 % ±4.68% ±6.44% ±8.84%
buffers/buffer-indexof.js n=50000 type='string' encoding='utf8' search='SQ' 0.65 % ±0.72% ±1.00% ±1.39%
buffers/buffer-indexof.js n=50000 type='string' encoding='utf8' search='venture to go near the house till she had brought herself down to' 1.29 % ±1.72% ±2.43% ±3.48%
buffers/buffer-isascii.js input='hello world' length='long' n=20000000 -1.53 % ±1.84% ±2.54% ±3.51%
buffers/buffer-isascii.js input='hello world' length='short' n=20000000 -1.45 % ±2.05% ±2.81% ±3.83%
buffers/buffer-isutf8.js input='∀x∈ℝ: ⌈x⌉ = −⌊−x⌋' length='long' n=20000000 0.21 % ±1.07% ±1.47% ±2.00%
buffers/buffer-isutf8.js input='∀x∈ℝ: ⌈x⌉ = −⌊−x⌋' length='short' n=20000000 * 4.70 % ±3.42% ±4.73% ±6.55%
buffers/buffer-isutf8.js input='regular string' length='long' n=20000000 0.56 % ±2.16% ±2.96% ±4.04%
buffers/buffer-isutf8.js input='regular string' length='short' n=20000000 * 3.03 % ±2.97% ±4.07% ±5.56%
buffers/buffer-iterate.js n=1000 method='for' type='fast' size=16386 -0.40 % ±0.61% ±0.84% ±1.15%
buffers/buffer-iterate.js n=1000 method='for' type='fast' size=4096 * 1.12 % ±1.00% ±1.38% ±1.89%
buffers/buffer-iterate.js n=1000 method='for' type='fast' size=512 1.39 % ±4.66% ±6.44% ±8.89%
buffers/buffer-iterate.js n=1000 method='forOf' type='fast' size=16386 0.89 % ±2.13% ±3.05% ±4.47%
buffers/buffer-iterate.js n=1000 method='forOf' type='fast' size=4096 0.16 % ±0.72% ±0.99% ±1.36%
buffers/buffer-iterate.js n=1000 method='forOf' type='fast' size=512 1.53 % ±2.12% ±2.94% ±4.08%
buffers/buffer-iterate.js n=1000 method='iterator' type='fast' size=16386 0.74 % ±1.40% ±1.99% ±2.89%
buffers/buffer-iterate.js n=1000 method='iterator' type='fast' size=4096 3.71 % ±8.14% ±11.69% ±17.19%
buffers/buffer-iterate.js n=1000 method='iterator' type='fast' size=512 -0.34 % ±1.22% ±1.68% ±2.29%
buffers/buffer-normalize-encoding.js n=1000000 encoding='ascii' 1.07 % ±1.58% ±2.18% ±3.03%
buffers/buffer-normalize-encoding.js n=1000000 encoding='base64' -1.20 % ±2.30% ±3.15% ±4.29%
buffers/buffer-normalize-encoding.js n=1000000 encoding='BASE64' -1.71 % ±4.16% ±5.96% ±8.75%
buffers/buffer-normalize-encoding.js n=1000000 encoding='binary' * -1.45 % ±1.19% ±1.64% ±2.25%
buffers/buffer-normalize-encoding.js n=1000000 encoding='hex' -1.35 % ±1.60% ±2.22% ±3.10%
buffers/buffer-normalize-encoding.js n=1000000 encoding='HEX' 0.69 % ±1.22% ±1.69% ±2.35%
buffers/buffer-normalize-encoding.js n=1000000 encoding='latin1' * 1.64 % ±1.62% ±2.23% ±3.06%
buffers/buffer-normalize-encoding.js n=1000000 encoding='LATIN1' 3.16 % ±4.73% ±6.77% ±9.89%
buffers/buffer-normalize-encoding.js n=1000000 encoding='UCS-2' -1.88 % ±4.84% ±6.94% ±10.16%
buffers/buffer-normalize-encoding.js n=1000000 encoding='UCS2' -0.46 % ±1.29% ±1.78% ±2.45%
buffers/buffer-normalize-encoding.js n=1000000 encoding='utf-16le' -0.66 % ±2.41% ±3.32% ±4.53%
buffers/buffer-normalize-encoding.js n=1000000 encoding='UTF-16LE' 0.50 % ±1.60% ±2.20% ±3.00%
buffers/buffer-normalize-encoding.js n=1000000 encoding='utf-8' -1.12 % ±2.76% ±3.79% ±5.17%
buffers/buffer-normalize-encoding.js n=1000000 encoding='utf16le' 1.26 % ±2.66% ±3.65% ±4.97%
buffers/buffer-normalize-encoding.js n=1000000 encoding='UTF16LE' 0.24 % ±1.80% ±2.47% ±3.37%
buffers/buffer-normalize-encoding.js n=1000000 encoding='utf8' -0.26 % ±2.61% ±3.57% ±4.87%
buffers/buffer-normalize-encoding.js n=1000000 encoding='UTF8' 7.19 % ±13.37% ±19.14% ±28.00%
buffers/buffer-read-float.js n=1000000 value='big' endian='LE' type='Double' 0.40 % ±2.72% ±3.74% ±5.13%
buffers/buffer-read-float.js n=1000000 value='big' endian='LE' type='Float' 1.14 % ±3.84% ±5.28% ±7.23%
buffers/buffer-read-float.js n=1000000 value='inf' endian='LE' type='Double' 0.85 % ±2.32% ±3.18% ±4.33%
buffers/buffer-read-float.js n=1000000 value='inf' endian='LE' type='Float' * 3.68 % ±3.06% ±4.20% ±5.73%
buffers/buffer-read-float.js n=1000000 value='nan' endian='LE' type='Double' 0.87 % ±2.36% ±3.29% ±4.61%
buffers/buffer-read-float.js n=1000000 value='nan' endian='LE' type='Float' -2.84 % ±3.56% ±4.95% ±6.90%
buffers/buffer-read-float.js n=1000000 value='small' endian='LE' type='Double' -1.40 % ±3.48% ±4.78% ±6.54%
buffers/buffer-read-float.js n=1000000 value='small' endian='LE' type='Float' -1.04 % ±4.71% ±6.45% ±8.80%
buffers/buffer-read-float.js n=1000000 value='zero' endian='LE' type='Double' -0.73 % ±2.65% ±3.65% ±5.02%
buffers/buffer-read-float.js n=1000000 value='zero' endian='LE' type='Float' 0.46 % ±2.87% ±3.94% ±5.38%
buffers/buffer-read-with-byteLength.js byteLength=1 n=1000000 type='IntBE' buffer='fast' 0.94 % ±2.45% ±3.36% ±4.58%
buffers/buffer-read-with-byteLength.js byteLength=1 n=1000000 type='IntLE' buffer='fast' 0.99 % ±2.58% ±3.55% ±4.84%
buffers/buffer-read-with-byteLength.js byteLength=1 n=1000000 type='UIntBE' buffer='fast' -0.02 % ±2.11% ±2.89% ±3.93%
buffers/buffer-read-with-byteLength.js byteLength=1 n=1000000 type='UIntLE' buffer='fast' -1.57 % ±2.62% ±3.66% ±5.14%
buffers/buffer-read-with-byteLength.js byteLength=2 n=1000000 type='IntBE' buffer='fast' -0.85 % ±2.18% ±3.04% ±4.24%
buffers/buffer-read-with-byteLength.js byteLength=2 n=1000000 type='IntLE' buffer='fast' -0.81 % ±2.29% ±3.14% ±4.27%
buffers/buffer-read-with-byteLength.js byteLength=2 n=1000000 type='UIntBE' buffer='fast' 2.13 % ±2.61% ±3.58% ±4.88%
buffers/buffer-read-with-byteLength.js byteLength=2 n=1000000 type='UIntLE' buffer='fast' 0.29 % ±2.03% ±2.88% ±4.13%
buffers/buffer-read-with-byteLength.js byteLength=3 n=1000000 type='IntBE' buffer='fast' 0.09 % ±1.99% ±2.73% ±3.73%
buffers/buffer-read-with-byteLength.js byteLength=3 n=1000000 type='IntLE' buffer='fast' -0.58 % ±2.09% ±2.87% ±3.93%
buffers/buffer-read-with-byteLength.js byteLength=3 n=1000000 type='UIntBE' buffer='fast' -1.67 % ±2.45% ±3.38% ±4.67%
buffers/buffer-read-with-byteLength.js byteLength=3 n=1000000 type='UIntLE' buffer='fast' 0.40 % ±1.74% ±2.40% ±3.32%
buffers/buffer-read-with-byteLength.js byteLength=4 n=1000000 type='IntBE' buffer='fast' 1.12 % ±2.06% ±2.84% ±3.91%
buffers/buffer-read-with-byteLength.js byteLength=4 n=1000000 type='IntLE' buffer='fast' -0.29 % ±3.09% ±4.24% ±5.81%
buffers/buffer-read-with-byteLength.js byteLength=4 n=1000000 type='UIntBE' buffer='fast' -0.43 % ±2.29% ±3.16% ±4.34%
buffers/buffer-read-with-byteLength.js byteLength=4 n=1000000 type='UIntLE' buffer='fast' -0.49 % ±2.31% ±3.16% ±4.32%
buffers/buffer-read-with-byteLength.js byteLength=5 n=1000000 type='IntBE' buffer='fast' -0.05 % ±2.11% ±2.89% ±3.94%
buffers/buffer-read-with-byteLength.js byteLength=5 n=1000000 type='IntLE' buffer='fast' -1.02 % ±2.10% ±2.91% ±4.03%
buffers/buffer-read-with-byteLength.js byteLength=5 n=1000000 type='UIntBE' buffer='fast' 0.32 % ±2.11% ±2.91% ±4.01%
buffers/buffer-read-with-byteLength.js byteLength=5 n=1000000 type='UIntLE' buffer='fast' -0.63 % ±2.41% ±3.33% ±4.60%
buffers/buffer-read-with-byteLength.js byteLength=6 n=1000000 type='IntBE' buffer='fast' -0.80 % ±3.18% ±4.41% ±6.13%
buffers/buffer-read-with-byteLength.js byteLength=6 n=1000000 type='IntLE' buffer='fast' 0.05 % ±2.59% ±3.56% ±4.86%
buffers/buffer-read-with-byteLength.js byteLength=6 n=1000000 type='UIntBE' buffer='fast' -0.48 % ±3.15% ±4.32% ±5.88%
buffers/buffer-read-with-byteLength.js byteLength=6 n=1000000 type='UIntLE' buffer='fast' 2.37 % ±6.35% ±8.91% ±12.63%
buffers/buffer-read.js n=1000000 type='BigInt64BE' buffer='fast' 0.28 % ±1.87% ±2.58% ±3.56%
buffers/buffer-read.js n=1000000 type='BigInt64LE' buffer='fast' 0.65 % ±1.32% ±1.83% ±2.53%
buffers/buffer-read.js n=1000000 type='BigUInt64BE' buffer='fast' 2.47 % ±3.82% ±5.34% ±7.50%
buffers/buffer-read.js n=1000000 type='BigUInt64LE' buffer='fast' -2.18 % ±3.67% ±5.03% ±6.86%
buffers/buffer-read.js n=1000000 type='Int16BE' buffer='fast' 3.35 % ±5.88% ±8.15% ±11.30%
buffers/buffer-read.js n=1000000 type='Int16LE' buffer='fast' ** 6.24 % ±4.01% ±5.49% ±7.48%
buffers/buffer-read.js n=1000000 type='Int32BE' buffer='fast' -0.65 % ±3.44% ±4.71% ±6.43%
buffers/buffer-read.js n=1000000 type='Int32LE' buffer='fast' 2.01 % ±6.71% ±9.35% ±13.06%
buffers/buffer-read.js n=1000000 type='Int8' buffer='fast' * 3.86 % ±3.64% ±4.99% ±6.81%
buffers/buffer-read.js n=1000000 type='UInt16BE' buffer='fast' 3.15 % ±3.97% ±5.47% ±7.52%
buffers/buffer-read.js n=1000000 type='UInt16LE' buffer='fast' 3.60 % ±4.44% ±6.13% ±8.45%
buffers/buffer-read.js n=1000000 type='UInt32BE' buffer='fast' -1.14 % ±3.67% ±5.05% ±6.94%
buffers/buffer-read.js n=1000000 type='UInt32LE' buffer='fast' -1.69 % ±4.54% ±6.31% ±8.80%
buffers/buffer-read.js n=1000000 type='UInt8' buffer='fast' 2.56 % ±3.80% ±5.28% ±7.34%
buffers/buffer-slice.js n=1000000 type='fast' 0.61 % ±0.89% ±1.22% ±1.68%
buffers/buffer-slice.js n=1000000 type='slow' * 1.71 % ±1.45% ±2.03% ±2.84%
buffers/buffer-slice.js n=1000000 type='subarray' * 1.30 % ±1.05% ±1.47% ±2.07%
buffers/buffer-swap.js n=1000000 len=1024 method='swap16' aligned='false' 0.73 % ±6.75% ±9.27% ±12.67%
buffers/buffer-swap.js n=1000000 len=1024 method='swap16' aligned='true' 1.38 % ±6.12% ±8.38% ±11.44%
buffers/buffer-swap.js n=1000000 len=1024 method='swap32' aligned='false' 3.50 % ±4.83% ±6.90% ±10.07%
buffers/buffer-swap.js n=1000000 len=1024 method='swap32' aligned='true' -0.83 % ±4.95% ±7.09% ±10.38%
buffers/buffer-swap.js n=1000000 len=1024 method='swap64' aligned='false' 6.45 % ±7.15% ±10.26% ±15.07%
buffers/buffer-swap.js n=1000000 len=1024 method='swap64' aligned='true' ** 1.29 % ±0.78% ±1.08% ±1.47%
buffers/buffer-swap.js n=1000000 len=2056 method='swap16' aligned='false' -0.18 % ±7.24% ±9.92% ±13.51%
buffers/buffer-swap.js n=1000000 len=2056 method='swap16' aligned='true' 0.11 % ±8.68% ±11.89% ±16.19%
buffers/buffer-swap.js n=1000000 len=2056 method='swap32' aligned='false' -2.79 % ±9.28% ±12.76% ±17.48%
buffers/buffer-swap.js n=1000000 len=2056 method='swap32' aligned='true' -1.64 % ±10.86% ±14.90% ±20.34%
buffers/buffer-swap.js n=1000000 len=2056 method='swap64' aligned='false' -4.92 % ±6.53% ±9.33% ±13.58%
buffers/buffer-swap.js n=1000000 len=2056 method='swap64' aligned='true' -3.30 % ±5.77% ±8.27% ±12.14%
buffers/buffer-swap.js n=1000000 len=256 method='swap16' aligned='false' 0.15 % ±1.03% ±1.42% ±1.96%
buffers/buffer-swap.js n=1000000 len=256 method='swap16' aligned='true' -0.55 % ±1.36% ±1.86% ±2.56%
buffers/buffer-swap.js n=1000000 len=256 method='swap32' aligned='false' -0.21 % ±1.16% ±1.64% ±2.35%
buffers/buffer-swap.js n=1000000 len=256 method='swap32' aligned='true' 0.90 % ±1.54% ±2.18% ±3.13%
buffers/buffer-swap.js n=1000000 len=256 method='swap64' aligned='false' -0.99 % ±2.04% ±2.87% ±4.06%
buffers/buffer-swap.js n=1000000 len=256 method='swap64' aligned='true' -0.25 % ±1.14% ±1.57% ±2.14%
buffers/buffer-swap.js n=1000000 len=64 method='swap16' aligned='false' -0.86 % ±1.37% ±1.94% ±2.80%
buffers/buffer-swap.js n=1000000 len=64 method='swap16' aligned='true' 0.45 % ±0.72% ±0.98% ±1.34%
buffers/buffer-swap.js n=1000000 len=64 method='swap32' aligned='false' 0.12 % ±0.82% ±1.13% ±1.56%
buffers/buffer-swap.js n=1000000 len=64 method='swap32' aligned='true' -0.42 % ±0.66% ±0.91% ±1.24%
buffers/buffer-swap.js n=1000000 len=64 method='swap64' aligned='false' -0.01 % ±2.16% ±2.97% ±4.08%
buffers/buffer-swap.js n=1000000 len=64 method='swap64' aligned='true' 0.13 % ±0.75% ±1.03% ±1.41%
buffers/buffer-swap.js n=1000000 len=768 method='swap16' aligned='false' 0.73 % ±1.69% ±2.33% ±3.21%
buffers/buffer-swap.js n=1000000 len=768 method='swap16' aligned='true' 0.64 % ±1.36% ±1.87% ±2.57%
buffers/buffer-swap.js n=1000000 len=768 method='swap32' aligned='false' * 1.29 % ±1.05% ±1.44% ±1.97%
buffers/buffer-swap.js n=1000000 len=768 method='swap32' aligned='true' -2.46 % ±9.26% ±13.28% ±19.48%
buffers/buffer-swap.js n=1000000 len=768 method='swap64' aligned='false' 0.97 % ±1.35% ±1.88% ±2.63%
buffers/buffer-swap.js n=1000000 len=768 method='swap64' aligned='true' 2.08 % ±4.15% ±5.87% ±8.44%
buffers/buffer-swap.js n=1000000 len=8192 method='swap16' aligned='false' * -4.60 % ±4.59% ±6.29% ±8.56%
buffers/buffer-swap.js n=1000000 len=8192 method='swap16' aligned='true' 2.63 % ±5.59% ±8.02% ±11.79%
buffers/buffer-swap.js n=1000000 len=8192 method='swap32' aligned='false' -6.74 % ±7.03% ±9.71% ±13.42%
buffers/buffer-swap.js n=1000000 len=8192 method='swap32' aligned='true' -0.02 % ±1.74% ±2.46% ±3.50%
buffers/buffer-swap.js n=1000000 len=8192 method='swap64' aligned='false' -2.60 % ±5.74% ±7.89% ±10.80%
buffers/buffer-swap.js n=1000000 len=8192 method='swap64' aligned='true' 0.18 % ±0.90% ±1.28% ±1.83%
buffers/buffer-tojson.js len=0 n=10000 8.57 % ±24.29% ±33.27% ±45.33%
buffers/buffer-tojson.js len=256 n=10000 -1.86 % ±3.11% ±4.26% ±5.81%
buffers/buffer-tojson.js len=4096 n=10000 0.38 % ±2.13% ±2.93% ±3.99%
buffers/buffer-tostring.js n=1000000 len=1 args=0 encoding='' -0.29 % ±0.46% ±0.64% ±0.87%
buffers/buffer-tostring.js n=1000000 len=1 args=1 encoding='ascii' *** -2.87 % ±1.02% ±1.42% ±1.99%
buffers/buffer-tostring.js n=1000000 len=1 args=1 encoding='hex' * -2.88 % ±2.10% ±2.93% ±4.11%
buffers/buffer-tostring.js n=1000000 len=1 args=1 encoding='latin1' 1.16 % ±1.86% ±2.61% ±3.70%
buffers/buffer-tostring.js n=1000000 len=1 args=1 encoding='UCS-2' -0.37 % ±6.57% ±9.00% ±12.27%
buffers/buffer-tostring.js n=1000000 len=1 args=1 encoding='utf8' * 0.59 % ±0.51% ±0.70% ±0.96%
buffers/buffer-tostring.js n=1000000 len=1 args=3 encoding='ascii' -0.05 % ±5.73% ±8.23% ±12.09%
buffers/buffer-tostring.js n=1000000 len=1 args=3 encoding='hex' * -2.61 % ±2.13% ±2.92% ±3.99%
buffers/buffer-tostring.js n=1000000 len=1 args=3 encoding='latin1' ** 1.75 % ±1.19% ±1.67% ±2.38%
buffers/buffer-tostring.js n=1000000 len=1 args=3 encoding='UCS-2' -3.64 % ±5.98% ±8.21% ±11.20%
buffers/buffer-tostring.js n=1000000 len=1 args=3 encoding='utf8' 4.42 % ±8.73% ±12.48% ±18.23%
buffers/buffer-tostring.js n=1000000 len=1024 args=0 encoding='' 1.67 % ±2.93% ±4.05% ±5.60%
buffers/buffer-tostring.js n=1000000 len=1024 args=1 encoding='ascii' 0.92 % ±8.34% ±11.53% ±15.90%
buffers/buffer-tostring.js n=1000000 len=1024 args=1 encoding='hex' -1.29 % ±2.75% ±3.84% ±5.39%
buffers/buffer-tostring.js n=1000000 len=1024 args=1 encoding='latin1' 3.45 % ±6.18% ±8.79% ±12.71%
buffers/buffer-tostring.js n=1000000 len=1024 args=1 encoding='UCS-2' 0.82 % ±4.30% ±6.16% ±9.04%
buffers/buffer-tostring.js n=1000000 len=1024 args=1 encoding='utf8' * 1.99 % ±1.90% ±2.62% ±3.59%
buffers/buffer-tostring.js n=1000000 len=1024 args=3 encoding='ascii' 1.18 % ±3.41% ±4.68% ±6.39%
buffers/buffer-tostring.js n=1000000 len=1024 args=3 encoding='hex' -0.44 % ±2.67% ±3.72% ±5.18%
buffers/buffer-tostring.js n=1000000 len=1024 args=3 encoding='latin1' 0.57 % ±3.18% ±4.35% ±5.93%
buffers/buffer-tostring.js n=1000000 len=1024 args=3 encoding='UCS-2' 1.76 % ±3.95% ±5.45% ±7.51%
buffers/buffer-tostring.js n=1000000 len=1024 args=3 encoding='utf8' 2.58 % ±4.16% ±5.90% ±8.49%
buffers/buffer-tostring.js n=1000000 len=64 args=0 encoding='' *** 4.79 % ±1.27% ±1.78% ±2.52%
buffers/buffer-tostring.js n=1000000 len=64 args=1 encoding='ascii' -2.02 % ±2.29% ±3.13% ±4.27%
buffers/buffer-tostring.js n=1000000 len=64 args=1 encoding='hex' -4.68 % ±7.01% ±9.98% ±14.44%
buffers/buffer-tostring.js n=1000000 len=64 args=1 encoding='latin1' 0.44 % ±1.97% ±2.70% ±3.69%
buffers/buffer-tostring.js n=1000000 len=64 args=1 encoding='UCS-2' * 4.49 % ±3.83% ±5.46% ±7.94%
buffers/buffer-tostring.js n=1000000 len=64 args=1 encoding='utf8' 2.15 % ±2.18% ±2.98% ±4.06%
buffers/buffer-tostring.js n=1000000 len=64 args=3 encoding='ascii' -0.17 % ±4.79% ±6.72% ±9.52%
buffers/buffer-tostring.js n=1000000 len=64 args=3 encoding='hex' -0.37 % ±2.48% ±3.40% ±4.64%
buffers/buffer-tostring.js n=1000000 len=64 args=3 encoding='latin1' -4.26 % ±11.36% ±16.23% ±23.66%
buffers/buffer-tostring.js n=1000000 len=64 args=3 encoding='UCS-2' * 3.24 % ±2.86% ±3.94% ±5.43%
buffers/buffer-tostring.js n=1000000 len=64 args=3 encoding='utf8' ** 2.21 % ±1.57% ±2.15% ±2.93%
buffers/buffer-transcode.js n=100000 length=1 toEncoding='ascii' fromEncoding='ascii' 0.84 % ±6.77% ±9.27% ±12.63%
buffers/buffer-transcode.js n=100000 length=1 toEncoding='ascii' fromEncoding='latin1' 7.43 % ±21.04% ±29.80% ±42.83%
buffers/buffer-transcode.js n=100000 length=1 toEncoding='ascii' fromEncoding='ucs2' 5.38 % ±11.95% ±16.70% ±23.49%
buffers/buffer-transcode.js n=100000 length=1 toEncoding='ascii' fromEncoding='utf8' -3.97 % ±8.64% ±11.85% ±16.17%
buffers/buffer-transcode.js n=100000 length=1 toEncoding='latin1' fromEncoding='ascii' 6.91 % ±10.16% ±14.04% ±19.40%
buffers/buffer-transcode.js n=100000 length=1 toEncoding='latin1' fromEncoding='latin1' -2.94 % ±6.88% ±9.43% ±12.85%
buffers/buffer-transcode.js n=100000 length=1 toEncoding='latin1' fromEncoding='ucs2' 5.13 % ±7.49% ±10.29% ±14.07%
buffers/buffer-transcode.js n=100000 length=1 toEncoding='latin1' fromEncoding='utf8' 1.33 % ±8.04% ±11.08% ±15.22%
buffers/buffer-transcode.js n=100000 length=1 toEncoding='ucs2' fromEncoding='ascii' 1.99 % ±7.87% ±10.81% ±14.80%
buffers/buffer-transcode.js n=100000 length=1 toEncoding='ucs2' fromEncoding='latin1' 3.77 % ±9.75% ±13.36% ±18.22%
buffers/buffer-transcode.js n=100000 length=1 toEncoding='ucs2' fromEncoding='ucs2' -6.74 % ±7.49% ±10.37% ±14.35%
buffers/buffer-transcode.js n=100000 length=1 toEncoding='ucs2' fromEncoding='utf8' 2.55 % ±7.32% ±10.06% ±13.79%
buffers/buffer-transcode.js n=100000 length=1 toEncoding='utf8' fromEncoding='ascii' 0.06 % ±7.26% ±9.97% ±13.61%
buffers/buffer-transcode.js n=100000 length=1 toEncoding='utf8' fromEncoding='latin1' -0.87 % ±5.22% ±7.22% ±10.00%
buffers/buffer-transcode.js n=100000 length=1 toEncoding='utf8' fromEncoding='utf8' 12.77 % ±13.73% ±19.03% ±26.42%
buffers/buffer-transcode.js n=100000 length=10 toEncoding='ascii' fromEncoding='ascii' 11.67 % ±24.60% ±34.99% ±50.65%
buffers/buffer-transcode.js n=100000 length=10 toEncoding='ascii' fromEncoding='latin1' 4.95 % ±5.46% ±7.54% ±10.39%
buffers/buffer-transcode.js n=100000 length=10 toEncoding='ascii' fromEncoding='ucs2' 3.44 % ±4.60% ±6.31% ±8.61%
buffers/buffer-transcode.js n=100000 length=10 toEncoding='ascii' fromEncoding='utf8' 3.59 % ±7.43% ±10.24% ±14.06%
buffers/buffer-transcode.js n=100000 length=10 toEncoding='latin1' fromEncoding='ascii' 4.80 % ±6.88% ±9.50% ±13.10%
buffers/buffer-transcode.js n=100000 length=10 toEncoding='latin1' fromEncoding='latin1' 2.57 % ±6.35% ±8.70% ±11.85%
buffers/buffer-transcode.js n=100000 length=10 toEncoding='latin1' fromEncoding='ucs2' -0.01 % ±8.26% ±11.35% ±15.53%
buffers/buffer-transcode.js n=100000 length=10 toEncoding='latin1' fromEncoding='utf8' -3.06 % ±8.03% ±11.00% ±14.99%
buffers/buffer-transcode.js n=100000 length=10 toEncoding='ucs2' fromEncoding='ascii' 4.85 % ±12.49% ±17.22% ±23.71%
buffers/buffer-transcode.js n=100000 length=10 toEncoding='ucs2' fromEncoding='latin1' 1.15 % ±8.27% ±11.38% ±15.59%
buffers/buffer-transcode.js n=100000 length=10 toEncoding='ucs2' fromEncoding='ucs2' -0.76 % ±6.18% ±8.50% ±11.65%
buffers/buffer-transcode.js n=100000 length=10 toEncoding='ucs2' fromEncoding='utf8' -1.40 % ±11.85% ±16.42% ±22.77%
buffers/buffer-transcode.js n=100000 length=10 toEncoding='utf8' fromEncoding='ascii' -3.78 % ±8.36% ±11.48% ±15.70%
buffers/buffer-transcode.js n=100000 length=10 toEncoding='utf8' fromEncoding='latin1' 1.67 % ±8.91% ±12.33% ±17.07%
buffers/buffer-transcode.js n=100000 length=10 toEncoding='utf8' fromEncoding='utf8' 3.33 % ±15.98% ±22.10% ±30.56%
buffers/buffer-transcode.js n=100000 length=1000 toEncoding='ascii' fromEncoding='ascii' 7.20 % ±13.47% ±19.26% ±28.11%
buffers/buffer-transcode.js n=100000 length=1000 toEncoding='ascii' fromEncoding='latin1' -0.39 % ±4.33% ±6.01% ±8.36%
buffers/buffer-transcode.js n=100000 length=1000 toEncoding='ascii' fromEncoding='ucs2' -1.70 % ±4.86% ±6.70% ±9.22%
buffers/buffer-transcode.js n=100000 length=1000 toEncoding='ascii' fromEncoding='utf8' -4.31 % ±4.57% ±6.34% ±8.84%
buffers/buffer-transcode.js n=100000 length=1000 toEncoding='latin1' fromEncoding='ascii' 2.27 % ±4.57% ±6.28% ±8.58%
buffers/buffer-transcode.js n=100000 length=1000 toEncoding='latin1' fromEncoding='latin1' 3.92 % ±7.06% ±9.94% ±14.13%
buffers/buffer-transcode.js n=100000 length=1000 toEncoding='latin1' fromEncoding='ucs2' -0.88 % ±2.20% ±3.02% ±4.13%
buffers/buffer-transcode.js n=100000 length=1000 toEncoding='latin1' fromEncoding='utf8' -0.46 % ±1.85% ±2.54% ±3.46%
buffers/buffer-transcode.js n=100000 length=1000 toEncoding='ucs2' fromEncoding='ascii' 0.63 % ±5.39% ±7.50% ±10.48%
buffers/buffer-transcode.js n=100000 length=1000 toEncoding='ucs2' fromEncoding='latin1' 1.10 % ±3.47% ±4.75% ±6.47%
buffers/buffer-transcode.js n=100000 length=1000 toEncoding='ucs2' fromEncoding='ucs2' 0.82 % ±2.89% ±4.10% ±5.92%
buffers/buffer-transcode.js n=100000 length=1000 toEncoding='ucs2' fromEncoding='utf8' -0.19 % ±3.85% ±5.28% ±7.19%
buffers/buffer-transcode.js n=100000 length=1000 toEncoding='utf8' fromEncoding='ascii' 0.51 % ±3.87% ±5.32% ±7.31%
buffers/buffer-transcode.js n=100000 length=1000 toEncoding='utf8' fromEncoding='latin1' 0.48 % ±4.04% ±5.64% ±7.90%
buffers/buffer-transcode.js n=100000 length=1000 toEncoding='utf8' fromEncoding='utf8' -6.01 % ±14.36% ±20.31% ±29.13%
buffers/buffer-write-string-short.js n=1000000 len=1 encoding='ascii' 2.56 % ±4.92% ±6.94% ±9.92%
buffers/buffer-write-string-short.js n=1000000 len=1 encoding='latin1' -0.81 % ±1.42% ±1.96% ±2.70%
buffers/buffer-write-string-short.js n=1000000 len=1 encoding='utf8' -0.69 % ±2.14% ±2.94% ±4.03%
buffers/buffer-write-string-short.js n=1000000 len=16 encoding='ascii' -3.41 % ±6.29% ±8.90% ±12.77%
buffers/buffer-write-string-short.js n=1000000 len=16 encoding='latin1' -0.31 % ±3.22% ±4.41% ±6.01%
buffers/buffer-write-string-short.js n=1000000 len=16 encoding='utf8' -0.68 % ±2.76% ±3.79% ±5.16%
buffers/buffer-write-string-short.js n=1000000 len=32 encoding='ascii' 0.51 % ±2.65% ±3.63% ±4.96%
buffers/buffer-write-string-short.js n=1000000 len=32 encoding='latin1' -1.33 % ±2.14% ±2.94% ±4.02%
buffers/buffer-write-string-short.js n=1000000 len=32 encoding='utf8' -4.41 % ±5.67% ±7.97% ±11.30%
buffers/buffer-write-string-short.js n=1000000 len=8 encoding='ascii' 0.51 % ±2.74% ±3.78% ±5.19%
buffers/buffer-write-string-short.js n=1000000 len=8 encoding='latin1' -5.80 % ±9.26% ±13.16% ±19.02%
buffers/buffer-write-string-short.js n=1000000 len=8 encoding='utf8' -1.51 % ±4.29% ±5.90% ±8.11%
buffers/buffer-write-string.js n=1000000 len=2048 args='' encoding='' -1.03 % ±1.79% ±2.45% ±3.34%
buffers/buffer-write-string.js n=1000000 len=2048 args='' encoding='ascii' 0.46 % ±1.40% ±1.95% ±2.73%
buffers/buffer-write-string.js n=1000000 len=2048 args='' encoding='hex' 0.48 % ±2.77% ±3.84% ±5.31%
buffers/buffer-write-string.js n=1000000 len=2048 args='' encoding='latin1' 0.00 % ±12.08% ±16.56% ±22.59%
buffers/buffer-write-string.js n=1000000 len=2048 args='' encoding='utf16le' ** -4.86 % ±3.33% ±4.70% ±6.72%
buffers/buffer-write-string.js n=1000000 len=2048 args='' encoding='utf8' -1.49 % ±3.73% ±5.18% ±7.20%
buffers/buffer-write-string.js n=1000000 len=2048 args='offset' encoding='' * -1.17 % ±1.11% ±1.53% ±2.08%
buffers/buffer-write-string.js n=1000000 len=2048 args='offset' encoding='ascii' -0.05 % ±2.44% ±3.35% ±4.58%
buffers/buffer-write-string.js n=1000000 len=2048 args='offset' encoding='hex' -1.74 % ±2.10% ±2.91% ±4.02%
buffers/buffer-write-string.js n=1000000 len=2048 args='offset' encoding='latin1' 1.22 % ±3.35% ±4.75% ±6.82%
buffers/buffer-write-string.js n=1000000 len=2048 args='offset' encoding='utf16le' -0.45 % ±7.45% ±10.63% ±15.46%
buffers/buffer-write-string.js n=1000000 len=2048 args='offset' encoding='utf8' * -2.07 % ±1.80% ±2.49% ±3.45%
buffers/buffer-write-string.js n=1000000 len=2048 args='offset+length' encoding='' -1.69 % ±1.90% ±2.65% ±3.74%
buffers/buffer-write-string.js n=1000000 len=2048 args='offset+length' encoding='ascii' -2.70 % ±7.75% ±11.11% ±16.30%
buffers/buffer-write-string.js n=1000000 len=2048 args='offset+length' encoding='hex' * -2.10 % ±1.59% ±2.20% ±3.03%
buffers/buffer-write-string.js n=1000000 len=2048 args='offset+length' encoding='latin1' 0.84 % ±2.86% ±3.96% ±5.47%
buffers/buffer-write-string.js n=1000000 len=2048 args='offset+length' encoding='utf16le' * -3.12 % ±2.79% ±3.88% ±5.42%
buffers/buffer-write-string.js n=1000000 len=2048 args='offset+length' encoding='utf8' -1.02 % ±1.82% ±2.49% ±3.39%
buffers/buffer-write.js n=1000000 type='BigInt64BE' buffer='fast' 1.60 % ±5.58% ±7.84% ±11.13%
buffers/buffer-write.js n=1000000 type='BigInt64LE' buffer='fast' -0.04 % ±4.20% ±5.79% ±7.96%
buffers/buffer-write.js n=1000000 type='BigUInt64BE' buffer='fast' -3.06 % ±4.55% ±6.31% ±8.76%
buffers/buffer-write.js n=1000000 type='BigUInt64LE' buffer='fast' -0.58 % ±4.93% ±6.82% ±9.43%
buffers/buffer-write.js n=1000000 type='DoubleBE' buffer='fast' -0.19 % ±2.84% ±3.89% ±5.31%
buffers/buffer-write.js n=1000000 type='DoubleLE' buffer='fast' 8.25 % ±16.59% ±23.77% ±34.84%
buffers/buffer-write.js n=1000000 type='FloatBE' buffer='fast' 0.12 % ±2.95% ±4.05% ±5.56%
buffers/buffer-write.js n=1000000 type='FloatLE' buffer='fast' -0.83 % ±2.88% ±3.95% ±5.39%
buffers/buffer-write.js n=1000000 type='Int16BE' buffer='fast' -1.29 % ±2.55% ±3.62% ±5.20%
buffers/buffer-write.js n=1000000 type='Int16LE' buffer='fast' 1.93 % ±2.79% ±3.91% ±5.54%
buffers/buffer-write.js n=1000000 type='Int32BE' buffer='fast' -0.78 % ±3.70% ±5.09% ±6.98%
buffers/buffer-write.js n=1000000 type='Int32LE' buffer='fast' -0.14 % ±4.69% ±6.43% ±8.77%
buffers/buffer-write.js n=1000000 type='Int8' buffer='fast' 0.58 % ±3.33% ±4.66% ±6.57%
buffers/buffer-write.js n=1000000 type='IntBE' buffer='fast' * 2.36 % ±1.96% ±2.69% ±3.67%
buffers/buffer-write.js n=1000000 type='IntLE' buffer='fast' 0.22 % ±1.88% ±2.58% ±3.53%
buffers/buffer-write.js n=1000000 type='UInt16BE' buffer='fast' 3.07 % ±3.96% ±5.57% ±7.91%
buffers/buffer-write.js n=1000000 type='UInt16LE' buffer='fast' 1.34 % ±3.94% ±5.40% ±7.37%
buffers/buffer-write.js n=1000000 type='UInt32BE' buffer='fast' -1.69 % ±2.62% ±3.64% ±5.08%
buffers/buffer-write.js n=1000000 type='UInt32LE' buffer='fast' -1.68 % ±3.55% ±4.91% ±6.79%
buffers/buffer-write.js n=1000000 type='UInt8' buffer='fast' 8.56 % ±13.99% ±20.00% ±29.17%
buffers/buffer-write.js n=1000000 type='UIntBE' buffer='fast' -0.29 % ±3.57% ±4.94% ±6.83%
buffers/buffer-write.js n=1000000 type='UIntLE' buffer='fast' * -2.54 % ±2.50% ±3.45% ±4.74%
buffers/buffer-zero.js type='buffer' n=1000000 0.34 % ±2.89% ±3.97% ±5.43%
buffers/buffer-zero.js type='string' n=1000000 -1.99 % ±3.64% ±5.14% ±7.36%
buffers/dataview-set.js n=1000000 type='Float32BE' -5.55 % ±9.42% ±13.50% ±19.80%
buffers/dataview-set.js n=1000000 type='Float32LE' -0.89 % ±6.55% ±9.03% ±12.43%
buffers/dataview-set.js n=1000000 type='Float64BE' 6.10 % ±17.80% ±25.46% ±37.19%
buffers/dataview-set.js n=1000000 type='Float64LE' -5.14 % ±11.87% ±17.00% ±24.89%
buffers/dataview-set.js n=1000000 type='Int16BE' -0.53 % ±2.70% ±3.71% ±5.05%
buffers/dataview-set.js n=1000000 type='Int16LE' -0.04 % ±1.98% ±2.72% ±3.73%
buffers/dataview-set.js n=1000000 type='Int32BE' 3.64 % ±6.25% ±8.80% ±12.54%
buffers/dataview-set.js n=1000000 type='Int32LE' 1.00 % ±2.96% ±4.06% ±5.54%
buffers/dataview-set.js n=1000000 type='Int8' -1.75 % ±2.16% ±2.97% ±4.07%
buffers/dataview-set.js n=1000000 type='Uint16BE' 1.55 % ±2.42% ±3.32% ±4.55%
buffers/dataview-set.js n=1000000 type='Uint16LE' -0.33 % ±2.19% ±3.01% ±4.09%
buffers/dataview-set.js n=1000000 type='Uint32BE' -1.22 % ±1.92% ±2.64% ±3.61%
buffers/dataview-set.js n=1000000 type='Uint32LE' 0.10 % ±2.83% ±3.91% ±5.38%
buffers/dataview-set.js n=1000000 type='Uint8' 2.38 % ±3.74% ±5.22% ±7.32%
Be aware that when doing many comparisons the risk of a false-positive result increases.
In this case, there are 471 comparisons, you can thus expect the following amount of false-positive results:
23.55 false positives, when considering a 5% risk acceptance (*, **, ***),
4.71 false positives, when considering a 1% risk acceptance (**, ***),
0.47 false positives, when considering a 0.1% risk acceptance (***)
Benchmark CI to see what this currently looks like: https://ci.nodejs.org/view/Node.js%20benchmark/job/benchmark-node-micro-benchmarks/1751/
Edit: Results:
in the fold
confidence improvement accuracy (*) (**) (***)
buffers/buffer-atob.js n=1000000 size=128 0.77 % ±1.65% ±2.19% ±2.86%
buffers/buffer-atob.js n=1000000 size=16 *** -2.27 % ±1.15% ±1.53% ±2.00%
buffers/buffer-atob.js n=1000000 size=32 2.08 % ±2.58% ±3.45% ±4.55%
buffers/buffer-atob.js n=1000000 size=64 -1.20 % ±1.88% ±2.51% ±3.27%
buffers/buffer-base64-decode-wrapped.js n=32 linesCount=524288 charsPerLine=76 0.20 % ±0.83% ±1.10% ±1.44%
buffers/buffer-base64-decode.js size=8388608 n=32 0.06 % ±0.15% ±0.20% ±0.26%
buffers/buffer-base64-encode.js n=32 len=67108864 -0.02 % ±0.16% ±0.21% ±0.28%
buffers/buffer-base64url-decode.js size=8388608 n=32 -0.00 % ±0.15% ±0.20% ±0.26%
buffers/buffer-base64url-encode.js n=32 len=67108864 -0.12 % ±0.17% ±0.22% ±0.29%
buffers/buffer-btoa.js n=1000000 size=1024 0.26 % ±0.88% ±1.17% ±1.52%
buffers/buffer-btoa.js n=1000000 size=128 -1.42 % ±1.51% ±2.01% ±2.61%
buffers/buffer-btoa.js n=1000000 size=16 -0.73 % ±3.67% ±4.92% ±6.48%
buffers/buffer-btoa.js n=1000000 size=256 -0.75 % ±1.54% ±2.05% ±2.67%
buffers/buffer-btoa.js n=1000000 size=32 0.41 % ±1.83% ±2.43% ±3.17%
buffers/buffer-btoa.js n=1000000 size=64 -0.55 % ±1.93% ±2.56% ±3.34%
buffers/buffer-bytelength-buffer.js n=4000000 len=16 ** -3.52 % ±2.41% ±3.21% ±4.19%
buffers/buffer-bytelength-buffer.js n=4000000 len=2 0.38 % ±2.25% ±2.99% ±3.90%
buffers/buffer-bytelength-buffer.js n=4000000 len=256 -0.34 % ±2.28% ±3.03% ±3.95%
buffers/buffer-bytelength-string.js n=4000000 repeat=1 encoding='base64' type='four_bytes' 2.73 % ±3.23% ±4.30% ±5.60%
buffers/buffer-bytelength-string.js n=4000000 repeat=1 encoding='base64' type='latin1' 1.49 % ±3.14% ±4.18% ±5.45%
buffers/buffer-bytelength-string.js n=4000000 repeat=1 encoding='base64' type='one_byte' 0.66 % ±3.44% ±4.58% ±5.97%
buffers/buffer-bytelength-string.js n=4000000 repeat=1 encoding='base64' type='three_bytes' 1.37 % ±3.00% ±3.99% ±5.20%
buffers/buffer-bytelength-string.js n=4000000 repeat=1 encoding='base64' type='two_bytes' 1.61 % ±2.96% ±3.94% ±5.13%
buffers/buffer-bytelength-string.js n=4000000 repeat=1 encoding='utf8' type='four_bytes' *** -2.29 % ±0.87% ±1.16% ±1.51%
buffers/buffer-bytelength-string.js n=4000000 repeat=1 encoding='utf8' type='latin1' 2.10 % ±2.48% ±3.31% ±4.33%
buffers/buffer-bytelength-string.js n=4000000 repeat=1 encoding='utf8' type='one_byte' * 2.37 % ±2.27% ±3.03% ±3.94%
buffers/buffer-bytelength-string.js n=4000000 repeat=1 encoding='utf8' type='three_bytes' 0.63 % ±1.64% ±2.18% ±2.83%
buffers/buffer-bytelength-string.js n=4000000 repeat=1 encoding='utf8' type='two_bytes' -0.65 % ±1.53% ±2.04% ±2.66%
buffers/buffer-bytelength-string.js n=4000000 repeat=16 encoding='base64' type='four_bytes' ** 3.20 % ±2.40% ±3.20% ±4.18%
buffers/buffer-bytelength-string.js n=4000000 repeat=16 encoding='base64' type='latin1' 2.15 % ±3.07% ±4.08% ±5.31%
buffers/buffer-bytelength-string.js n=4000000 repeat=16 encoding='base64' type='one_byte' 0.53 % ±2.70% ±3.59% ±4.68%
buffers/buffer-bytelength-string.js n=4000000 repeat=16 encoding='base64' type='three_bytes' -0.50 % ±2.89% ±3.85% ±5.01%
buffers/buffer-bytelength-string.js n=4000000 repeat=16 encoding='base64' type='two_bytes' -0.47 % ±2.61% ±3.47% ±4.51%
buffers/buffer-bytelength-string.js n=4000000 repeat=16 encoding='utf8' type='four_bytes' *** 0.77 % ±0.14% ±0.19% ±0.25%
buffers/buffer-bytelength-string.js n=4000000 repeat=16 encoding='utf8' type='latin1' * 1.12 % ±0.95% ±1.27% ±1.66%
buffers/buffer-bytelength-string.js n=4000000 repeat=16 encoding='utf8' type='one_byte' ** 3.34 % ±2.49% ±3.32% ±4.32%
buffers/buffer-bytelength-string.js n=4000000 repeat=16 encoding='utf8' type='three_bytes' ** 0.32 % ±0.20% ±0.27% ±0.35%
buffers/buffer-bytelength-string.js n=4000000 repeat=16 encoding='utf8' type='two_bytes' *** -1.86 % ±0.52% ±0.69% ±0.90%
buffers/buffer-bytelength-string.js n=4000000 repeat=2 encoding='base64' type='four_bytes' -1.23 % ±3.04% ±4.05% ±5.27%
buffers/buffer-bytelength-string.js n=4000000 repeat=2 encoding='base64' type='latin1' 1.19 % ±2.86% ±3.81% ±4.95%
buffers/buffer-bytelength-string.js n=4000000 repeat=2 encoding='base64' type='one_byte' 0.08 % ±3.37% ±4.49% ±5.85%
buffers/buffer-bytelength-string.js n=4000000 repeat=2 encoding='base64' type='three_bytes' 2.49 % ±2.85% ±3.79% ±4.95%
buffers/buffer-bytelength-string.js n=4000000 repeat=2 encoding='base64' type='two_bytes' 1.40 % ±3.08% ±4.11% ±5.36%
buffers/buffer-bytelength-string.js n=4000000 repeat=2 encoding='utf8' type='four_bytes' *** 3.57 % ±0.72% ±0.96% ±1.25%
buffers/buffer-bytelength-string.js n=4000000 repeat=2 encoding='utf8' type='latin1' 1.32 % ±2.27% ±3.02% ±3.95%
buffers/buffer-bytelength-string.js n=4000000 repeat=2 encoding='utf8' type='one_byte' 2.72 % ±3.17% ±4.21% ±5.48%
buffers/buffer-bytelength-string.js n=4000000 repeat=2 encoding='utf8' type='three_bytes' *** -2.01 % ±0.74% ±0.99% ±1.29%
buffers/buffer-bytelength-string.js n=4000000 repeat=2 encoding='utf8' type='two_bytes' *** -2.05 % ±1.03% ±1.37% ±1.79%
buffers/buffer-bytelength-string.js n=4000000 repeat=256 encoding='base64' type='four_bytes' 1.87 % ±3.03% ±4.03% ±5.25%
buffers/buffer-bytelength-string.js n=4000000 repeat=256 encoding='base64' type='latin1' 1.31 % ±2.81% ±3.74% ±4.88%
buffers/buffer-bytelength-string.js n=4000000 repeat=256 encoding='base64' type='one_byte' * 2.42 % ±2.25% ±2.99% ±3.90%
buffers/buffer-bytelength-string.js n=4000000 repeat=256 encoding='base64' type='three_bytes' 2.28 % ±2.71% ±3.61% ±4.70%
buffers/buffer-bytelength-string.js n=4000000 repeat=256 encoding='base64' type='two_bytes' 0.58 % ±2.98% ±3.96% ±5.17%
buffers/buffer-bytelength-string.js n=4000000 repeat=256 encoding='utf8' type='four_bytes' 0.01 % ±0.02% ±0.02% ±0.03%
buffers/buffer-bytelength-string.js n=4000000 repeat=256 encoding='utf8' type='latin1' -0.07 % ±0.12% ±0.16% ±0.21%
buffers/buffer-bytelength-string.js n=4000000 repeat=256 encoding='utf8' type='one_byte' 1.23 % ±1.62% ±2.16% ±2.83%
buffers/buffer-bytelength-string.js n=4000000 repeat=256 encoding='utf8' type='three_bytes' *** 0.52 % ±0.13% ±0.18% ±0.24%
buffers/buffer-bytelength-string.js n=4000000 repeat=256 encoding='utf8' type='two_bytes' *** -2.20 % ±0.38% ±0.51% ±0.66%
buffers/buffer-compare-instance-method.js n=1000000 args=1 size=16 -0.57 % ±2.24% ±2.98% ±3.88%
buffers/buffer-compare-instance-method.js n=1000000 args=1 size=16386 1.34 % ±1.68% ±2.26% ±2.99%
buffers/buffer-compare-instance-method.js n=1000000 args=1 size=4096 -1.19 % ±3.18% ±4.23% ±5.51%
buffers/buffer-compare-instance-method.js n=1000000 args=1 size=512 -1.19 % ±2.61% ±3.48% ±4.53%
buffers/buffer-compare-instance-method.js n=1000000 args=2 size=16 ** -3.59 % ±2.56% ±3.40% ±4.43%
buffers/buffer-compare-instance-method.js n=1000000 args=2 size=16386 -1.72 % ±3.50% ±4.66% ±6.06%
buffers/buffer-compare-instance-method.js n=1000000 args=2 size=4096 -0.49 % ±2.83% ±3.76% ±4.90%
buffers/buffer-compare-instance-method.js n=1000000 args=2 size=512 *** -5.85 % ±2.45% ±3.26% ±4.25%
buffers/buffer-compare-instance-method.js n=1000000 args=5 size=16 * -3.00 % ±2.25% ±3.00% ±3.93%
buffers/buffer-compare-instance-method.js n=1000000 args=5 size=16386 -1.20 % ±3.20% ±4.26% ±5.55%
buffers/buffer-compare-instance-method.js n=1000000 args=5 size=4096 *** -4.75 % ±2.16% ±2.88% ±3.75%
buffers/buffer-compare-instance-method.js n=1000000 args=5 size=512 *** -3.91 % ±1.97% ±2.63% ±3.42%
buffers/buffer-compare-offset.js n=1000000 size=16 method='offset' *** -3.22 % ±1.83% ±2.44% ±3.18%
buffers/buffer-compare-offset.js n=1000000 size=16 method='slice' 0.37 % ±1.59% ±2.12% ±2.76%
buffers/buffer-compare-offset.js n=1000000 size=16386 method='offset' ** -3.06 % ±1.96% ±2.61% ±3.40%
buffers/buffer-compare-offset.js n=1000000 size=16386 method='slice' 0.77 % ±1.94% ±2.58% ±3.36%
buffers/buffer-compare-offset.js n=1000000 size=4096 method='offset' -0.92 % ±3.33% ±4.45% ±5.83%
buffers/buffer-compare-offset.js n=1000000 size=4096 method='slice' ** 3.30 % ±1.90% ±2.53% ±3.31%
buffers/buffer-compare-offset.js n=1000000 size=512 method='offset' * -2.29 % ±1.85% ±2.47% ±3.21%
buffers/buffer-compare-offset.js n=1000000 size=512 method='slice' 1.12 % ±1.33% ±1.77% ±2.31%
buffers/buffer-compare.js n=1000000 size=16 1.29 % ±1.75% ±2.33% ±3.04%
buffers/buffer-compare.js n=1000000 size=16386 ** 5.67 % ±3.72% ±5.01% ±6.65%
buffers/buffer-compare.js n=1000000 size=4096 *** -5.12 % ±2.51% ±3.34% ±4.36%
buffers/buffer-compare.js n=1000000 size=512 *** 4.45 % ±2.13% ±2.84% ±3.70%
buffers/buffer-concat-fill.js n=800000 extraSize=1 -0.18 % ±0.68% ±0.91% ±1.19%
buffers/buffer-concat-fill.js n=800000 extraSize=1024 ** -1.14 % ±0.85% ±1.13% ±1.48%
buffers/buffer-concat-fill.js n=800000 extraSize=256 -0.38 % ±0.58% ±0.77% ±1.01%
buffers/buffer-concat.js n=800000 withTotalLength=0 pieceSize=1 pieces=16 -0.52 % ±1.01% ±1.35% ±1.75%
buffers/buffer-concat.js n=800000 withTotalLength=0 pieceSize=1 pieces=4 -0.26 % ±1.70% ±2.26% ±2.94%
buffers/buffer-concat.js n=800000 withTotalLength=0 pieceSize=16 pieces=16 -0.64 % ±1.09% ±1.45% ±1.88%
buffers/buffer-concat.js n=800000 withTotalLength=0 pieceSize=16 pieces=4 -1.19 % ±1.93% ±2.57% ±3.35%
buffers/buffer-concat.js n=800000 withTotalLength=0 pieceSize=256 pieces=16 0.22 % ±0.67% ±0.90% ±1.17%
buffers/buffer-concat.js n=800000 withTotalLength=0 pieceSize=256 pieces=4 -0.28 % ±0.90% ±1.21% ±1.58%
buffers/buffer-concat.js n=800000 withTotalLength=1 pieceSize=1 pieces=16 0.94 % ±1.57% ±2.08% ±2.71%
buffers/buffer-concat.js n=800000 withTotalLength=1 pieceSize=1 pieces=4 -0.83 % ±1.88% ±2.50% ±3.25%
buffers/buffer-concat.js n=800000 withTotalLength=1 pieceSize=16 pieces=16 -0.96 % ±1.29% ±1.72% ±2.23%
buffers/buffer-concat.js n=800000 withTotalLength=1 pieceSize=16 pieces=4 -1.02 % ±1.65% ±2.20% ±2.86%
buffers/buffer-concat.js n=800000 withTotalLength=1 pieceSize=256 pieces=16 0.28 % ±0.67% ±0.90% ±1.17%
buffers/buffer-concat.js n=800000 withTotalLength=1 pieceSize=256 pieces=4 -0.14 % ±0.82% ±1.10% ±1.43%
buffers/buffer-copy.js n=6000000 partial='false' bytes=1024 0.82 % ±1.51% ±2.01% ±2.62%
buffers/buffer-copy.js n=6000000 partial='false' bytes=128 1.40 % ±2.37% ±3.16% ±4.11%
buffers/buffer-copy.js n=6000000 partial='false' bytes=8 -0.55 % ±2.82% ±3.76% ±4.89%
buffers/buffer-copy.js n=6000000 partial='true' bytes=1024 -0.02 % ±0.34% ±0.46% ±0.60%
buffers/buffer-copy.js n=6000000 partial='true' bytes=128 -0.05 % ±0.69% ±0.92% ±1.20%
buffers/buffer-copy.js n=6000000 partial='true' bytes=8 ** -1.10 % ±0.64% ±0.85% ±1.11%
buffers/buffer-creation.js n=600000 len=10 type='fast-alloc-fill' -2.12 % ±4.91% ±6.54% ±8.51%
buffers/buffer-creation.js n=600000 len=10 type='fast-alloc' 2.84 % ±4.72% ±6.28% ±8.17%
buffers/buffer-creation.js n=600000 len=10 type='fast-allocUnsafe' 0.88 % ±5.21% ±6.93% ±9.02%
buffers/buffer-creation.js n=600000 len=10 type='slow-allocUnsafe' 1.73 % ±4.52% ±6.02% ±7.85%
buffers/buffer-creation.js n=600000 len=1024 type='fast-alloc-fill' -0.36 % ±0.76% ±1.02% ±1.33%
buffers/buffer-creation.js n=600000 len=1024 type='fast-alloc' 0.26 % ±0.80% ±1.07% ±1.39%
buffers/buffer-creation.js n=600000 len=1024 type='fast-allocUnsafe' 0.78 % ±1.52% ±2.03% ±2.64%
buffers/buffer-creation.js n=600000 len=1024 type='slow-allocUnsafe' -0.20 % ±0.80% ±1.07% ±1.39%
buffers/buffer-creation.js n=600000 len=4096 type='fast-alloc-fill' -0.37 % ±0.89% ±1.18% ±1.54%
buffers/buffer-creation.js n=600000 len=4096 type='fast-alloc' -0.14 % ±0.93% ±1.24% ±1.61%
buffers/buffer-creation.js n=600000 len=4096 type='fast-allocUnsafe' 0.30 % ±0.93% ±1.23% ±1.60%
buffers/buffer-creation.js n=600000 len=4096 type='slow-allocUnsafe' -0.01 % ±0.99% ±1.31% ±1.71%
buffers/buffer-creation.js n=600000 len=8192 type='fast-alloc-fill' -0.09 % ±0.77% ±1.02% ±1.33%
buffers/buffer-creation.js n=600000 len=8192 type='fast-alloc' 0.28 % ±0.78% ±1.04% ±1.35%
buffers/buffer-creation.js n=600000 len=8192 type='fast-allocUnsafe' -0.09 % ±0.76% ±1.01% ±1.31%
buffers/buffer-creation.js n=600000 len=8192 type='slow-allocUnsafe' 0.22 % ±0.67% ±0.90% ±1.17%
buffers/buffer-equals.js n=1000000 difflen='false' size=0 -0.68 % ±1.86% ±2.48% ±3.23%
buffers/buffer-equals.js n=1000000 difflen='false' size=16386 2.25 % ±2.75% ±3.68% ±4.83%
buffers/buffer-equals.js n=1000000 difflen='false' size=512 ** 3.54 % ±2.16% ±2.88% ±3.74%
buffers/buffer-equals.js n=1000000 difflen='true' size=0 -0.67 % ±2.47% ±3.30% ±4.34%
buffers/buffer-equals.js n=1000000 difflen='true' size=16386 * 3.10 % ±2.61% ±3.50% ±4.59%
buffers/buffer-equals.js n=1000000 difflen='true' size=512 -0.28 % ±1.32% ±1.76% ±2.29%
buffers/buffer-fill.js n=20000 size=65536 type='fill("")' -1.71 % ±2.41% ±3.22% ±4.24%
buffers/buffer-fill.js n=20000 size=65536 type='fill("t", "utf8")' -0.24 % ±1.49% ±1.98% ±2.58%
buffers/buffer-fill.js n=20000 size=65536 type='fill("t", 0, "utf8")' 0.24 % ±1.83% ±2.44% ±3.18%
buffers/buffer-fill.js n=20000 size=65536 type='fill("t", 0)' -0.07 % ±2.02% ±2.69% ±3.51%
buffers/buffer-fill.js n=20000 size=65536 type='fill("t")' 0.47 % ±1.90% ±2.52% ±3.28%
buffers/buffer-fill.js n=20000 size=65536 type='fill("test")' 0.36 % ±1.62% ±2.15% ±2.81%
buffers/buffer-fill.js n=20000 size=65536 type='fill(0)' -0.88 % ±2.01% ±2.67% ±3.47%
buffers/buffer-fill.js n=20000 size=65536 type='fill(100)' -1.17 % ±2.01% ±2.67% ±3.49%
buffers/buffer-fill.js n=20000 size=65536 type='fill(400)' 0.63 % ±1.91% ±2.55% ±3.32%
buffers/buffer-fill.js n=20000 size=65536 type='fill(Buffer.alloc(1), 0)' 1.87 % ±2.62% ±3.50% ±4.59%
buffers/buffer-fill.js n=20000 size=8192 type='fill("")' 1.88 % ±9.75% ±12.98% ±16.90%
buffers/buffer-fill.js n=20000 size=8192 type='fill("t", "utf8")' 0.44 % ±9.15% ±12.18% ±15.86%
buffers/buffer-fill.js n=20000 size=8192 type='fill("t", 0, "utf8")' -2.00 % ±12.35% ±16.43% ±21.39%
buffers/buffer-fill.js n=20000 size=8192 type='fill("t", 0)' -6.76 % ±9.20% ±12.27% ±16.01%
buffers/buffer-fill.js n=20000 size=8192 type='fill("t")' 6.18 % ±7.88% ±10.53% ±13.80%
buffers/buffer-fill.js n=20000 size=8192 type='fill("test")' 4.46 % ±9.53% ±12.69% ±16.53%
buffers/buffer-fill.js n=20000 size=8192 type='fill(0)' 1.51 % ±2.83% ±3.77% ±4.91%
buffers/buffer-fill.js n=20000 size=8192 type='fill(100)' * 2.70 % ±2.47% ±3.29% ±4.29%
buffers/buffer-fill.js n=20000 size=8192 type='fill(400)' ** 3.54 % ±2.11% ±2.81% ±3.66%
buffers/buffer-fill.js n=20000 size=8192 type='fill(Buffer.alloc(1), 0)' 6.94 % ±10.81% ±14.39% ±18.73%
buffers/buffer-from.js n=800000 len=100 source='array' ** -1.79 % ±1.21% ±1.61% ±2.10%
buffers/buffer-from.js n=800000 len=100 source='arraybuffer-middle' -2.21 % ±4.16% ±5.54% ±7.21%
buffers/buffer-from.js n=800000 len=100 source='arraybuffer' -1.96 % ±4.68% ±6.22% ±8.10%
buffers/buffer-from.js n=800000 len=100 source='buffer' -1.06 % ±2.54% ±3.38% ±4.41%
buffers/buffer-from.js n=800000 len=100 source='object' -1.90 % ±3.68% ±4.89% ±6.37%
buffers/buffer-from.js n=800000 len=100 source='string-base64' *** -3.31 % ±1.08% ±1.43% ±1.86%
buffers/buffer-from.js n=800000 len=100 source='string-utf8' -1.25 % ±2.03% ±2.70% ±3.51%
buffers/buffer-from.js n=800000 len=100 source='string' -1.79 % ±2.04% ±2.71% ±3.53%
buffers/buffer-from.js n=800000 len=100 source='uint16array' 2.14 % ±2.34% ±3.12% ±4.06%
buffers/buffer-from.js n=800000 len=100 source='uint8array' 0.56 % ±2.55% ±3.40% ±4.43%
buffers/buffer-from.js n=800000 len=2048 source='array' *** -0.67 % ±0.22% ±0.30% ±0.39%
buffers/buffer-from.js n=800000 len=2048 source='arraybuffer-middle' -0.75 % ±2.73% ±3.64% ±4.74%
buffers/buffer-from.js n=800000 len=2048 source='arraybuffer' ** -5.42 % ±3.48% ±4.65% ±6.07%
buffers/buffer-from.js n=800000 len=2048 source='buffer' 0.32 % ±1.19% ±1.59% ±2.07%
buffers/buffer-from.js n=800000 len=2048 source='object' -1.07 % ±4.10% ±5.46% ±7.11%
buffers/buffer-from.js n=800000 len=2048 source='string-base64' 0.37 % ±0.65% ±0.86% ±1.12%
buffers/buffer-from.js n=800000 len=2048 source='string-utf8' -0.39 % ±0.76% ±1.01% ±1.32%
buffers/buffer-from.js n=800000 len=2048 source='string' 0.13 % ±0.90% ±1.19% ±1.55%
buffers/buffer-from.js n=800000 len=2048 source='uint16array' 0.50 % ±0.84% ±1.12% ±1.45%
buffers/buffer-from.js n=800000 len=2048 source='uint8array' -0.11 % ±1.17% ±1.56% ±2.03%
buffers/buffer-hex-decode.js n=1000000 len=1024 *** -2.33 % ±0.45% ±0.60% ±0.79%
buffers/buffer-hex-decode.js n=1000000 len=64 *** -2.31 % ±0.82% ±1.09% ±1.43%
buffers/buffer-hex-encode.js n=1000000 len=1024 0.11 % ±0.11% ±0.15% ±0.19%
buffers/buffer-hex-encode.js n=1000000 len=64 -0.29 % ±0.97% ±1.30% ±1.69%
buffers/buffer-indexof-number.js n=1000000 value=64 -0.70 % ±2.41% ±3.21% ±4.18%
buffers/buffer-indexof.js n=50000 type='buffer' encoding='undefined' search='--l' -0.27 % ±0.51% ±0.68% ±0.88%
buffers/buffer-indexof.js n=50000 type='buffer' encoding='undefined' search='@' 2.60 % ±7.30% ±9.72% ±12.68%
buffers/buffer-indexof.js n=50000 type='buffer' encoding='undefined' search='</i> to the Caterpillar' *** 0.36 % ±0.05% ±0.07% ±0.09%
buffers/buffer-indexof.js n=50000 type='buffer' encoding='undefined' search='aaaaaaaaaaaaaaaaa' 0.09 % ±0.11% ±0.14% ±0.19%
buffers/buffer-indexof.js n=50000 type='buffer' encoding='undefined' search='Alice' 7.15 % ±9.37% ±12.48% ±16.25%
buffers/buffer-indexof.js n=50000 type='buffer' encoding='undefined' search='found it very' *** 0.60 % ±0.04% ±0.05% ±0.07%
buffers/buffer-indexof.js n=50000 type='buffer' encoding='undefined' search='Gryphon' -0.90 % ±1.29% ±1.72% ±2.26%
buffers/buffer-indexof.js n=50000 type='buffer' encoding='undefined' search='neighbouring pool' *** 0.90 % ±0.10% ±0.13% ±0.17%
buffers/buffer-indexof.js n=50000 type='buffer' encoding='undefined' search='Ou est ma chatte?' *** -0.45 % ±0.15% ±0.20% ±0.26%
buffers/buffer-indexof.js n=50000 type='buffer' encoding='undefined' search='SQ' -0.90 % ±2.37% ±3.15% ±4.11%
buffers/buffer-indexof.js n=50000 type='buffer' encoding='undefined' search='venture to go near the house till she had brought herself down to' 0.32 % ±0.47% ±0.63% ±0.83%
buffers/buffer-indexof.js n=50000 type='string' encoding='ucs2' search='--l' -0.15 % ±0.57% ±0.76% ±1.00%
buffers/buffer-indexof.js n=50000 type='string' encoding='ucs2' search='@' 1.56 % ±5.68% ±7.56% ±9.84%
buffers/buffer-indexof.js n=50000 type='string' encoding='ucs2' search='</i> to the Caterpillar' -0.87 % ±2.30% ±3.07% ±4.03%
buffers/buffer-indexof.js n=50000 type='string' encoding='ucs2' search='aaaaaaaaaaaaaaaaa' -0.74 % ±2.97% ±3.98% ±5.22%
buffers/buffer-indexof.js n=50000 type='string' encoding='ucs2' search='Alice' -5.57 % ±6.75% ±8.99% ±11.72%
buffers/buffer-indexof.js n=50000 type='string' encoding='ucs2' search='found it very' 0.68 % ±1.82% ±2.43% ±3.16%
buffers/buffer-indexof.js n=50000 type='string' encoding='ucs2' search='Gryphon' -1.21 % ±1.39% ±1.87% ±2.48%
buffers/buffer-indexof.js n=50000 type='string' encoding='ucs2' search='neighbouring pool' 1.21 % ±1.91% ±2.54% ±3.30%
buffers/buffer-indexof.js n=50000 type='string' encoding='ucs2' search='Ou est ma chatte?' 0.10 % ±1.92% ±2.55% ±3.32%
buffers/buffer-indexof.js n=50000 type='string' encoding='ucs2' search='SQ' 0.68 % ±1.38% ±1.83% ±2.39%
buffers/buffer-indexof.js n=50000 type='string' encoding='ucs2' search='venture to go near the house till she had brought herself down to' 0.97 % ±1.89% ±2.52% ±3.29%
buffers/buffer-indexof.js n=50000 type='string' encoding='utf8' search='--l' -0.05 % ±0.26% ±0.35% ±0.46%
buffers/buffer-indexof.js n=50000 type='string' encoding='utf8' search='@' 4.48 % ±7.11% ±9.46% ±12.32%
buffers/buffer-indexof.js n=50000 type='string' encoding='utf8' search='</i> to the Caterpillar' -1.45 % ±2.30% ±3.06% ±3.99%
buffers/buffer-indexof.js n=50000 type='string' encoding='utf8' search='aaaaaaaaaaaaaaaaa' 0.52 % ±0.76% ±1.01% ±1.32%
buffers/buffer-indexof.js n=50000 type='string' encoding='utf8' search='Alice' * -7.61 % ±7.53% ±10.05% ±13.14%
buffers/buffer-indexof.js n=50000 type='string' encoding='utf8' search='found it very' 0.25 % ±0.75% ±1.01% ±1.33%
buffers/buffer-indexof.js n=50000 type='string' encoding='utf8' search='Gryphon' -0.34 % ±1.61% ±2.15% ±2.80%
buffers/buffer-indexof.js n=50000 type='string' encoding='utf8' search='neighbouring pool' 0.46 % ±1.36% ±1.81% ±2.36%
buffers/buffer-indexof.js n=50000 type='string' encoding='utf8' search='Ou est ma chatte?' -0.06 % ±0.14% ±0.19% ±0.25%
buffers/buffer-indexof.js n=50000 type='string' encoding='utf8' search='SQ' *** -6.07 % ±2.44% ±3.26% ±4.27%
buffers/buffer-indexof.js n=50000 type='string' encoding='utf8' search='venture to go near the house till she had brought herself down to' -0.42 % ±2.15% ±2.86% ±3.73%
buffers/buffer-isascii.js input='hello world' length='long' n=20000000 ** -4.77 % ±3.19% ±4.26% ±5.58%
buffers/buffer-isascii.js input='hello world' length='short' n=20000000 0.99 % ±1.81% ±2.40% ±3.13%
buffers/buffer-isutf8.js input='∀x∈ℝ: ⌈x⌉ = −⌊−x⌋' length='long' n=20000000 *** -0.33 % ±0.09% ±0.12% ±0.16%
buffers/buffer-isutf8.js input='∀x∈ℝ: ⌈x⌉ = −⌊−x⌋' length='short' n=20000000 -0.39 % ±1.63% ±2.17% ±2.82%
buffers/buffer-isutf8.js input='regular string' length='long' n=20000000 *** -8.03 % ±3.24% ±4.31% ±5.62%
buffers/buffer-isutf8.js input='regular string' length='short' n=20000000 -0.46 % ±0.89% ±1.18% ±1.54%
buffers/buffer-iterate.js n=1000 method='for' type='fast' size=16386 -0.78 % ±3.58% ±4.76% ±6.20%
buffers/buffer-iterate.js n=1000 method='for' type='fast' size=4096 1.61 % ±7.88% ±10.48% ±13.65%
buffers/buffer-iterate.js n=1000 method='for' type='fast' size=512 -1.74 % ±15.07% ±20.05% ±26.10%
buffers/buffer-iterate.js n=1000 method='forOf' type='fast' size=16386 0.47 % ±1.76% ±2.34% ±3.05%
buffers/buffer-iterate.js n=1000 method='forOf' type='fast' size=4096 -1.69 % ±4.93% ±6.57% ±8.56%
buffers/buffer-iterate.js n=1000 method='forOf' type='fast' size=512 -9.14 % ±11.30% ±15.04% ±19.58%
buffers/buffer-iterate.js n=1000 method='iterator' type='fast' size=16386 0.37 % ±1.53% ±2.04% ±2.66%
buffers/buffer-iterate.js n=1000 method='iterator' type='fast' size=4096 0.31 % ±2.31% ±3.07% ±3.99%
buffers/buffer-iterate.js n=1000 method='iterator' type='fast' size=512 1.23 % ±12.23% ±16.27% ±21.17%
buffers/buffer-normalize-encoding.js n=1000000 encoding='ascii' 0.51 % ±3.98% ±5.30% ±6.90%
buffers/buffer-normalize-encoding.js n=1000000 encoding='base64' 0.02 % ±0.90% ±1.20% ±1.56%
buffers/buffer-normalize-encoding.js n=1000000 encoding='BASE64' 1.73 % ±3.94% ±5.24% ±6.82%
buffers/buffer-normalize-encoding.js n=1000000 encoding='binary' 1.44 % ±4.54% ±6.05% ±7.87%
buffers/buffer-normalize-encoding.js n=1000000 encoding='hex' -0.17 % ±1.06% ±1.41% ±1.85%
buffers/buffer-normalize-encoding.js n=1000000 encoding='HEX' -0.96 % ±6.80% ±9.06% ±11.80%
buffers/buffer-normalize-encoding.js n=1000000 encoding='latin1' 3.88 % ±7.05% ±9.39% ±12.22%
buffers/buffer-normalize-encoding.js n=1000000 encoding='LATIN1' -0.95 % ±4.03% ±5.36% ±6.98%
buffers/buffer-normalize-encoding.js n=1000000 encoding='UCS-2' -2.71 % ±3.37% ±4.49% ±5.84%
buffers/buffer-normalize-encoding.js n=1000000 encoding='UCS2' 0.54 % ±4.92% ±6.55% ±8.53%
buffers/buffer-normalize-encoding.js n=1000000 encoding='utf-16le' 0.24 % ±2.03% ±2.71% ±3.53%
buffers/buffer-normalize-encoding.js n=1000000 encoding='UTF-16LE' * 6.42 % ±5.24% ±6.97% ±9.08%
buffers/buffer-normalize-encoding.js n=1000000 encoding='utf-8' 0.43 % ±1.05% ±1.40% ±1.82%
buffers/buffer-normalize-encoding.js n=1000000 encoding='utf16le' * 2.18 % ±1.85% ±2.46% ±3.22%
buffers/buffer-normalize-encoding.js n=1000000 encoding='UTF16LE' 5.70 % ±6.06% ±8.06% ±10.51%
buffers/buffer-normalize-encoding.js n=1000000 encoding='utf8' 0.73 % ±1.18% ±1.56% ±2.04%
buffers/buffer-normalize-encoding.js n=1000000 encoding='UTF8' 0.50 % ±1.84% ±2.45% ±3.20%
buffers/buffer-read-float.js n=1000000 value='big' endian='LE' type='Double' 5.76 % ±16.51% ±21.97% ±28.59%
buffers/buffer-read-float.js n=1000000 value='big' endian='LE' type='Float' 9.64 % ±19.56% ±26.03% ±33.91%
buffers/buffer-read-float.js n=1000000 value='inf' endian='LE' type='Double' 7.28 % ±16.73% ±22.26% ±28.98%
buffers/buffer-read-float.js n=1000000 value='inf' endian='LE' type='Float' -9.83 % ±17.78% ±23.67% ±30.81%
buffers/buffer-read-float.js n=1000000 value='nan' endian='LE' type='Double' 11.00 % ±17.27% ±22.97% ±29.90%
buffers/buffer-read-float.js n=1000000 value='nan' endian='LE' type='Float' -10.69 % ±17.24% ±22.95% ±29.91%
buffers/buffer-read-float.js n=1000000 value='small' endian='LE' type='Double' 9.75 % ±16.45% ±21.89% ±28.48%
buffers/buffer-read-float.js n=1000000 value='small' endian='LE' type='Float' 8.12 % ±19.24% ±25.60% ±33.33%
buffers/buffer-read-float.js n=1000000 value='zero' endian='LE' type='Double' 3.48 % ±11.21% ±14.92% ±19.41%
buffers/buffer-read-float.js n=1000000 value='zero' endian='LE' type='Float' -3.77 % ±15.69% ±20.88% ±27.17%
buffers/buffer-read-with-byteLength.js byteLength=1 n=1000000 type='IntBE' buffer='fast' -4.87 % ±9.61% ±12.79% ±16.65%
buffers/buffer-read-with-byteLength.js byteLength=1 n=1000000 type='IntLE' buffer='fast' -11.21 % ±11.70% ±15.57% ±20.29%
buffers/buffer-read-with-byteLength.js byteLength=1 n=1000000 type='UIntBE' buffer='fast' * 13.73 % ±11.73% ±15.62% ±20.36%
buffers/buffer-read-with-byteLength.js byteLength=1 n=1000000 type='UIntLE' buffer='fast' -6.79 % ±10.14% ±13.50% ±17.59%
buffers/buffer-read-with-byteLength.js byteLength=2 n=1000000 type='IntBE' buffer='fast' -11.81 % ±14.35% ±19.09% ±24.85%
buffers/buffer-read-with-byteLength.js byteLength=2 n=1000000 type='IntLE' buffer='fast' * -12.94 % ±12.68% ±16.87% ±21.95%
buffers/buffer-read-with-byteLength.js byteLength=2 n=1000000 type='UIntBE' buffer='fast' -2.66 % ±14.57% ±19.39% ±25.23%
buffers/buffer-read-with-byteLength.js byteLength=2 n=1000000 type='UIntLE' buffer='fast' 0.95 % ±11.86% ±15.78% ±20.54%
buffers/buffer-read-with-byteLength.js byteLength=3 n=1000000 type='IntBE' buffer='fast' -10.03 % ±11.88% ±15.82% ±20.60%
buffers/buffer-read-with-byteLength.js byteLength=3 n=1000000 type='IntLE' buffer='fast' * -13.58 % ±11.13% ±14.82% ±19.32%
buffers/buffer-read-with-byteLength.js byteLength=3 n=1000000 type='UIntBE' buffer='fast' * -10.98 % ±9.37% ±12.50% ±16.34%
buffers/buffer-read-with-byteLength.js byteLength=3 n=1000000 type='UIntLE' buffer='fast' 7.63 % ±9.74% ±13.00% ±17.01%
buffers/buffer-read-with-byteLength.js byteLength=4 n=1000000 type='IntBE' buffer='fast' 2.19 % ±14.59% ±19.42% ±25.27%
buffers/buffer-read-with-byteLength.js byteLength=4 n=1000000 type='IntLE' buffer='fast' -1.49 % ±14.87% ±19.79% ±25.76%
buffers/buffer-read-with-byteLength.js byteLength=4 n=1000000 type='UIntBE' buffer='fast' -13.10 % ±14.20% ±18.89% ±24.60%
buffers/buffer-read-with-byteLength.js byteLength=4 n=1000000 type='UIntLE' buffer='fast' 0.19 % ±15.02% ±19.98% ±26.01%
buffers/buffer-read-with-byteLength.js byteLength=5 n=1000000 type='IntBE' buffer='fast' -1.16 % ±12.03% ±16.00% ±20.82%
buffers/buffer-read-with-byteLength.js byteLength=5 n=1000000 type='IntLE' buffer='fast' -3.71 % ±10.98% ±14.62% ±19.03%
buffers/buffer-read-with-byteLength.js byteLength=5 n=1000000 type='UIntBE' buffer='fast' -7.25 % ±14.26% ±18.97% ±24.69%
buffers/buffer-read-with-byteLength.js byteLength=5 n=1000000 type='UIntLE' buffer='fast' 3.61 % ±10.37% ±13.81% ±17.99%
buffers/buffer-read-with-byteLength.js byteLength=6 n=1000000 type='IntBE' buffer='fast' -4.09 % ±9.78% ±13.02% ±16.95%
buffers/buffer-read-with-byteLength.js byteLength=6 n=1000000 type='IntLE' buffer='fast' 3.66 % ±12.84% ±17.08% ±22.24%
buffers/buffer-read-with-byteLength.js byteLength=6 n=1000000 type='UIntBE' buffer='fast' -5.13 % ±8.96% ±11.94% ±15.56%
buffers/buffer-read-with-byteLength.js byteLength=6 n=1000000 type='UIntLE' buffer='fast' 3.57 % ±12.54% ±16.69% ±21.72%
buffers/buffer-read.js n=1000000 type='BigInt64BE' buffer='fast' -5.87 % ±6.89% ±9.16% ±11.92%
buffers/buffer-read.js n=1000000 type='BigInt64LE' buffer='fast' ** -8.17 % ±5.50% ±7.32% ±9.53%
buffers/buffer-read.js n=1000000 type='BigUInt64BE' buffer='fast' -9.98 % ±17.98% ±23.93% ±31.14%
buffers/buffer-read.js n=1000000 type='BigUInt64LE' buffer='fast' -7.61 % ±18.41% ±24.50% ±31.88%
buffers/buffer-read.js n=1000000 type='Int16BE' buffer='fast' -14.37 % ±15.35% ±20.43% ±26.59%
buffers/buffer-read.js n=1000000 type='Int16LE' buffer='fast' ** -20.38 % ±14.93% ±19.90% ±25.96%
buffers/buffer-read.js n=1000000 type='Int32BE' buffer='fast' -12.27 % ±19.58% ±26.05% ±33.91%
buffers/buffer-read.js n=1000000 type='Int32LE' buffer='fast' -9.49 % ±18.18% ±24.19% ±31.49%
buffers/buffer-read.js n=1000000 type='Int8' buffer='fast' -4.30 % ±12.85% ±17.10% ±22.26%
buffers/buffer-read.js n=1000000 type='UInt16BE' buffer='fast' -1.25 % ±13.68% ±18.21% ±23.70%
buffers/buffer-read.js n=1000000 type='UInt16LE' buffer='fast' -5.76 % ±12.31% ±16.39% ±21.35%
buffers/buffer-read.js n=1000000 type='UInt32BE' buffer='fast' * -21.60 % ±17.62% ±23.44% ±30.51%
buffers/buffer-read.js n=1000000 type='UInt32LE' buffer='fast' -14.16 % ±18.62% ±24.77% ±32.24%
buffers/buffer-read.js n=1000000 type='UInt8' buffer='fast' 6.58 % ±14.04% ±18.69% ±24.36%
buffers/buffer-slice.js n=1000000 type='fast' 1.36 % ±3.15% ±4.19% ±5.46%
buffers/buffer-slice.js n=1000000 type='slow' * 3.46 % ±2.76% ±3.68% ±4.81%
buffers/buffer-slice.js n=1000000 type='subarray' 1.18 % ±4.21% ±5.60% ±7.29%
buffers/buffer-swap.js n=1000000 len=1024 method='swap16' aligned='false' 1.81 % ±2.73% ±3.64% ±4.76%
buffers/buffer-swap.js n=1000000 len=1024 method='swap16' aligned='true' 0.40 % ±2.99% ±3.99% ±5.21%
buffers/buffer-swap.js n=1000000 len=1024 method='swap32' aligned='false' *** -1.08 % ±0.45% ±0.60% ±0.78%
buffers/buffer-swap.js n=1000000 len=1024 method='swap32' aligned='true' ** -0.72 % ±0.45% ±0.60% ±0.78%
buffers/buffer-swap.js n=1000000 len=1024 method='swap64' aligned='false' * 0.86 % ±0.85% ±1.13% ±1.48%
buffers/buffer-swap.js n=1000000 len=1024 method='swap64' aligned='true' ** 0.95 % ±0.71% ±0.95% ±1.23%
buffers/buffer-swap.js n=1000000 len=2056 method='swap16' aligned='false' ** -1.32 % ±0.84% ±1.12% ±1.46%
buffers/buffer-swap.js n=1000000 len=2056 method='swap16' aligned='true' -0.58 % ±0.86% ±1.14% ±1.48%
buffers/buffer-swap.js n=1000000 len=2056 method='swap32' aligned='false' -0.00 % ±0.21% ±0.28% ±0.36%
buffers/buffer-swap.js n=1000000 len=2056 method='swap32' aligned='true' 0.08 % ±0.23% ±0.31% ±0.40%
buffers/buffer-swap.js n=1000000 len=2056 method='swap64' aligned='false' * 0.50 % ±0.49% ±0.65% ±0.85%
buffers/buffer-swap.js n=1000000 len=2056 method='swap64' aligned='true' 0.38 % ±0.45% ±0.60% ±0.78%
buffers/buffer-swap.js n=1000000 len=256 method='swap16' aligned='false' *** -3.85 % ±1.83% ±2.44% ±3.17%
buffers/buffer-swap.js n=1000000 len=256 method='swap16' aligned='true' ** -2.46 % ±1.81% ±2.43% ±3.18%
buffers/buffer-swap.js n=1000000 len=256 method='swap32' aligned='false' 0.56 % ±2.09% ±2.78% ±3.62%
buffers/buffer-swap.js n=1000000 len=256 method='swap32' aligned='true' 1.15 % ±1.59% ±2.12% ±2.76%
buffers/buffer-swap.js n=1000000 len=256 method='swap64' aligned='false' -0.52 % ±1.38% ±1.84% ±2.39%
buffers/buffer-swap.js n=1000000 len=256 method='swap64' aligned='true' -0.23 % ±1.07% ±1.42% ±1.85%
buffers/buffer-swap.js n=1000000 len=64 method='swap16' aligned='false' -0.02 % ±0.65% ±0.87% ±1.13%
buffers/buffer-swap.js n=1000000 len=64 method='swap16' aligned='true' 0.81 % ±1.41% ±1.87% ±2.44%
buffers/buffer-swap.js n=1000000 len=64 method='swap32' aligned='false' 0.11 % ±0.33% ±0.45% ±0.58%
buffers/buffer-swap.js n=1000000 len=64 method='swap32' aligned='true' -0.34 % ±0.36% ±0.48% ±0.63%
buffers/buffer-swap.js n=1000000 len=64 method='swap64' aligned='false' 0.37 % ±1.49% ±1.99% ±2.59%
buffers/buffer-swap.js n=1000000 len=64 method='swap64' aligned='true' -0.97 % ±1.65% ±2.19% ±2.85%
buffers/buffer-swap.js n=1000000 len=768 method='swap16' aligned='false' -0.42 % ±1.14% ±1.52% ±1.98%
buffers/buffer-swap.js n=1000000 len=768 method='swap16' aligned='true' -0.68 % ±1.10% ±1.47% ±1.92%
buffers/buffer-swap.js n=1000000 len=768 method='swap32' aligned='false' -1.00 % ±1.25% ±1.66% ±2.16%
buffers/buffer-swap.js n=1000000 len=768 method='swap32' aligned='true' ** -1.43 % ±0.92% ±1.22% ±1.59%
buffers/buffer-swap.js n=1000000 len=768 method='swap64' aligned='false' -0.11 % ±0.76% ±1.02% ±1.32%
buffers/buffer-swap.js n=1000000 len=768 method='swap64' aligned='true' 0.88 % ±1.02% ±1.36% ±1.77%
buffers/buffer-swap.js n=1000000 len=8192 method='swap16' aligned='false' -0.35 % ±0.37% ±0.49% ±0.64%
buffers/buffer-swap.js n=1000000 len=8192 method='swap16' aligned='true' *** -0.53 % ±0.21% ±0.28% ±0.37%
buffers/buffer-swap.js n=1000000 len=8192 method='swap32' aligned='false' -0.05 % ±0.06% ±0.08% ±0.10%
buffers/buffer-swap.js n=1000000 len=8192 method='swap32' aligned='true' * 0.07 % ±0.06% ±0.08% ±0.10%
buffers/buffer-swap.js n=1000000 len=8192 method='swap64' aligned='false' 0.03 % ±0.12% ±0.15% ±0.20%
buffers/buffer-swap.js n=1000000 len=8192 method='swap64' aligned='true' 0.02 % ±0.15% ±0.21% ±0.27%
buffers/buffer-tojson.js len=0 n=10000 ** -23.04 % ±15.07% ±20.18% ±26.52%
buffers/buffer-tojson.js len=256 n=10000 0.57 % ±6.31% ±8.41% ±10.95%
buffers/buffer-tojson.js len=4096 n=10000 -0.94 % ±1.35% ±1.81% ±2.36%
buffers/buffer-tostring.js n=1000000 len=1 args=0 encoding='' 0.16 % ±2.49% ±3.32% ±4.32%
buffers/buffer-tostring.js n=1000000 len=1 args=1 encoding='ascii' 1.49 % ±2.24% ±2.98% ±3.88%
buffers/buffer-tostring.js n=1000000 len=1 args=1 encoding='hex' -2.11 % ±2.35% ±3.13% ±4.08%
buffers/buffer-tostring.js n=1000000 len=1 args=1 encoding='latin1' 1.38 % ±3.35% ±4.47% ±5.83%
buffers/buffer-tostring.js n=1000000 len=1 args=1 encoding='UCS-2' *** 5.55 % ±1.28% ±1.70% ±2.22%
buffers/buffer-tostring.js n=1000000 len=1 args=1 encoding='utf8' -1.38 % ±3.09% ±4.11% ±5.36%
buffers/buffer-tostring.js n=1000000 len=1 args=3 encoding='ascii' 2.85 % ±3.58% ±4.76% ±6.20%
buffers/buffer-tostring.js n=1000000 len=1 args=3 encoding='hex' * -2.96 % ±2.42% ±3.22% ±4.19%
buffers/buffer-tostring.js n=1000000 len=1 args=3 encoding='latin1' *** 5.73 % ±3.00% ±3.99% ±5.19%
buffers/buffer-tostring.js n=1000000 len=1 args=3 encoding='UCS-2' *** 7.56 % ±1.47% ±1.95% ±2.54%
buffers/buffer-tostring.js n=1000000 len=1 args=3 encoding='utf8' 0.51 % ±2.58% ±3.43% ±4.46%
buffers/buffer-tostring.js n=1000000 len=1024 args=0 encoding='' 0.39 % ±0.51% ±0.68% ±0.89%
buffers/buffer-tostring.js n=1000000 len=1024 args=1 encoding='ascii' ** 1.10 % ±0.68% ±0.90% ±1.18%
buffers/buffer-tostring.js n=1000000 len=1024 args=1 encoding='hex' *** -1.86 % ±0.32% ±0.43% ±0.57%
buffers/buffer-tostring.js n=1000000 len=1024 args=1 encoding='latin1' -0.38 % ±0.79% ±1.06% ±1.38%
buffers/buffer-tostring.js n=1000000 len=1024 args=1 encoding='UCS-2' *** 2.48 % ±0.64% ±0.85% ±1.11%
buffers/buffer-tostring.js n=1000000 len=1024 args=1 encoding='utf8' * 0.77 % ±0.60% ±0.80% ±1.04%
buffers/buffer-tostring.js n=1000000 len=1024 args=3 encoding='ascii' 1.13 % ±1.44% ±1.92% ±2.52%
buffers/buffer-tostring.js n=1000000 len=1024 args=3 encoding='hex' *** -1.79 % ±0.47% ±0.62% ±0.82%
buffers/buffer-tostring.js n=1000000 len=1024 args=3 encoding='latin1' -0.12 % ±1.10% ±1.47% ±1.91%
buffers/buffer-tostring.js n=1000000 len=1024 args=3 encoding='UCS-2' *** 3.13 % ±0.56% ±0.74% ±0.97%
buffers/buffer-tostring.js n=1000000 len=1024 args=3 encoding='utf8' *** 1.04 % ±0.57% ±0.76% ±0.98%
buffers/buffer-tostring.js n=1000000 len=64 args=0 encoding='' *** -1.92 % ±1.02% ±1.36% ±1.77%
buffers/buffer-tostring.js n=1000000 len=64 args=1 encoding='ascii' 0.99 % ±1.43% ±1.91% ±2.48%
buffers/buffer-tostring.js n=1000000 len=64 args=1 encoding='hex' 0.53 % ±1.10% ±1.47% ±1.91%
buffers/buffer-tostring.js n=1000000 len=64 args=1 encoding='latin1' * 3.31 % ±2.85% ±3.79% ±4.94%
buffers/buffer-tostring.js n=1000000 len=64 args=1 encoding='UCS-2' ** 2.17 % ±1.32% ±1.76% ±2.30%
buffers/buffer-tostring.js n=1000000 len=64 args=1 encoding='utf8' -0.35 % ±1.50% ±2.00% ±2.62%
buffers/buffer-tostring.js n=1000000 len=64 args=3 encoding='ascii' ** -1.73 % ±1.26% ±1.68% ±2.19%
buffers/buffer-tostring.js n=1000000 len=64 args=3 encoding='hex' *** 2.85 % ±1.29% ±1.72% ±2.24%
buffers/buffer-tostring.js n=1000000 len=64 args=3 encoding='latin1' *** 4.10 % ±2.04% ±2.72% ±3.54%
buffers/buffer-tostring.js n=1000000 len=64 args=3 encoding='UCS-2' *** 2.48 % ±1.30% ±1.73% ±2.25%
buffers/buffer-tostring.js n=1000000 len=64 args=3 encoding='utf8' ** -1.99 % ±1.46% ±1.95% ±2.53%
buffers/buffer-transcode.js n=100000 length=1 toEncoding='ascii' fromEncoding='ascii' -1.28 % ±1.62% ±2.16% ±2.82%
buffers/buffer-transcode.js n=100000 length=1 toEncoding='ascii' fromEncoding='latin1' *** -2.62 % ±1.27% ±1.69% ±2.20%
buffers/buffer-transcode.js n=100000 length=1 toEncoding='ascii' fromEncoding='ucs2' -1.33 % ±1.80% ±2.40% ±3.13%
buffers/buffer-transcode.js n=100000 length=1 toEncoding='ascii' fromEncoding='utf8' -0.24 % ±1.73% ±2.31% ±3.01%
buffers/buffer-transcode.js n=100000 length=1 toEncoding='latin1' fromEncoding='ascii' -0.27 % ±1.26% ±1.68% ±2.18%
buffers/buffer-transcode.js n=100000 length=1 toEncoding='latin1' fromEncoding='latin1' *** -2.09 % ±0.96% ±1.28% ±1.67%
buffers/buffer-transcode.js n=100000 length=1 toEncoding='latin1' fromEncoding='ucs2' 0.67 % ±1.68% ±2.24% ±2.91%
buffers/buffer-transcode.js n=100000 length=1 toEncoding='latin1' fromEncoding='utf8' -0.43 % ±1.61% ±2.14% ±2.79%
buffers/buffer-transcode.js n=100000 length=1 toEncoding='ucs2' fromEncoding='ascii' 0.01 % ±1.60% ±2.13% ±2.77%
buffers/buffer-transcode.js n=100000 length=1 toEncoding='ucs2' fromEncoding='latin1' -0.35 % ±1.77% ±2.36% ±3.07%
buffers/buffer-transcode.js n=100000 length=1 toEncoding='ucs2' fromEncoding='ucs2' * -1.76 % ±1.68% ±2.23% ±2.90%
buffers/buffer-transcode.js n=100000 length=1 toEncoding='ucs2' fromEncoding='utf8' -0.89 % ±1.81% ±2.40% ±3.13%
buffers/buffer-transcode.js n=100000 length=1 toEncoding='utf8' fromEncoding='ascii' *** -2.63 % ±1.19% ±1.59% ±2.07%
buffers/buffer-transcode.js n=100000 length=1 toEncoding='utf8' fromEncoding='latin1' -0.64 % ±1.09% ±1.46% ±1.90%
buffers/buffer-transcode.js n=100000 length=1 toEncoding='utf8' fromEncoding='utf8' -0.33 % ±1.08% ±1.44% ±1.87%
buffers/buffer-transcode.js n=100000 length=10 toEncoding='ascii' fromEncoding='ascii' ** -1.79 % ±1.32% ±1.76% ±2.29%
buffers/buffer-transcode.js n=100000 length=10 toEncoding='ascii' fromEncoding='latin1' -1.12 % ±1.59% ±2.11% ±2.75%
buffers/buffer-transcode.js n=100000 length=10 toEncoding='ascii' fromEncoding='ucs2' * -1.55 % ±1.42% ±1.89% ±2.46%
buffers/buffer-transcode.js n=100000 length=10 toEncoding='ascii' fromEncoding='utf8' -0.31 % ±1.47% ±1.96% ±2.55%
buffers/buffer-transcode.js n=100000 length=10 toEncoding='latin1' fromEncoding='ascii' -0.20 % ±1.44% ±1.91% ±2.49%
buffers/buffer-transcode.js n=100000 length=10 toEncoding='latin1' fromEncoding='latin1' * -1.31 % ±1.25% ±1.67% ±2.17%
buffers/buffer-transcode.js n=100000 length=10 toEncoding='latin1' fromEncoding='ucs2' -1.24 % ±1.73% ±2.30% ±3.00%
buffers/buffer-transcode.js n=100000 length=10 toEncoding='latin1' fromEncoding='utf8' 0.39 % ±1.59% ±2.12% ±2.76%
buffers/buffer-transcode.js n=100000 length=10 toEncoding='ucs2' fromEncoding='ascii' 0.23 % ±1.90% ±2.52% ±3.29%
buffers/buffer-transcode.js n=100000 length=10 toEncoding='ucs2' fromEncoding='latin1' 0.14 % ±1.62% ±2.16% ±2.81%
buffers/buffer-transcode.js n=100000 length=10 toEncoding='ucs2' fromEncoding='ucs2' -1.50 % ±1.58% ±2.11% ±2.74%
buffers/buffer-transcode.js n=100000 length=10 toEncoding='ucs2' fromEncoding='utf8' 0.80 % ±1.73% ±2.31% ±3.00%
buffers/buffer-transcode.js n=100000 length=10 toEncoding='utf8' fromEncoding='ascii' -0.64 % ±1.63% ±2.17% ±2.83%
buffers/buffer-transcode.js n=100000 length=10 toEncoding='utf8' fromEncoding='latin1' -0.87 % ±1.70% ±2.26% ±2.94%
buffers/buffer-transcode.js n=100000 length=10 toEncoding='utf8' fromEncoding='utf8' 0.31 % ±1.83% ±2.43% ±3.17%
buffers/buffer-transcode.js n=100000 length=1000 toEncoding='ascii' fromEncoding='ascii' -0.26 % ±1.05% ±1.39% ±1.81%
buffers/buffer-transcode.js n=100000 length=1000 toEncoding='ascii' fromEncoding='latin1' 1.00 % ±1.20% ±1.59% ±2.08%
buffers/buffer-transcode.js n=100000 length=1000 toEncoding='ascii' fromEncoding='ucs2' 0.10 % ±0.26% ±0.35% ±0.46%
buffers/buffer-transcode.js n=100000 length=1000 toEncoding='ascii' fromEncoding='utf8' -0.24 % ±1.37% ±1.83% ±2.38%
buffers/buffer-transcode.js n=100000 length=1000 toEncoding='latin1' fromEncoding='ascii' 0.41 % ±1.20% ±1.59% ±2.08%
buffers/buffer-transcode.js n=100000 length=1000 toEncoding='latin1' fromEncoding='latin1' -0.52 % ±1.06% ±1.41% ±1.83%
buffers/buffer-transcode.js n=100000 length=1000 toEncoding='latin1' fromEncoding='ucs2' 0.21 % ±0.27% ±0.36% ±0.47%
buffers/buffer-transcode.js n=100000 length=1000 toEncoding='latin1' fromEncoding='utf8' 0.13 % ±0.98% ±1.31% ±1.70%
buffers/buffer-transcode.js n=100000 length=1000 toEncoding='ucs2' fromEncoding='ascii' -0.36 % ±0.87% ±1.15% ±1.50%
buffers/buffer-transcode.js n=100000 length=1000 toEncoding='ucs2' fromEncoding='latin1' ** -1.24 % ±0.93% ±1.23% ±1.61%
buffers/buffer-transcode.js n=100000 length=1000 toEncoding='ucs2' fromEncoding='ucs2' ** -1.07 % ±0.78% ±1.03% ±1.35%
buffers/buffer-transcode.js n=100000 length=1000 toEncoding='ucs2' fromEncoding='utf8' -0.25 % ±1.02% ±1.35% ±1.76%
buffers/buffer-transcode.js n=100000 length=1000 toEncoding='utf8' fromEncoding='ascii' 0.24 % ±0.69% ±0.91% ±1.19%
buffers/buffer-transcode.js n=100000 length=1000 toEncoding='utf8' fromEncoding='latin1' -0.03 % ±0.83% ±1.11% ±1.44%
buffers/buffer-transcode.js n=100000 length=1000 toEncoding='utf8' fromEncoding='utf8' -0.25 % ±0.84% ±1.12% ±1.46%
buffers/buffer-write-string-short.js n=1000000 len=1 encoding='ascii' -0.78 % ±3.59% ±4.77% ±6.21%
buffers/buffer-write-string-short.js n=1000000 len=1 encoding='latin1' -0.02 % ±3.53% ±4.70% ±6.14%
buffers/buffer-write-string-short.js n=1000000 len=1 encoding='utf8' 2.20 % ±3.48% ±4.63% ±6.03%
buffers/buffer-write-string-short.js n=1000000 len=16 encoding='ascii' -1.08 % ±2.84% ±3.78% ±4.92%
buffers/buffer-write-string-short.js n=1000000 len=16 encoding='latin1' 1.35 % ±4.65% ±6.19% ±8.06%
buffers/buffer-write-string-short.js n=1000000 len=16 encoding='utf8' -1.59 % ±3.14% ±4.19% ±5.46%
buffers/buffer-write-string-short.js n=1000000 len=32 encoding='ascii' -1.89 % ±3.30% ±4.39% ±5.71%
buffers/buffer-write-string-short.js n=1000000 len=32 encoding='latin1' -2.42 % ±3.62% ±4.81% ±6.27%
buffers/buffer-write-string-short.js n=1000000 len=32 encoding='utf8' 2.50 % ±3.43% ±4.59% ±6.00%
buffers/buffer-write-string-short.js n=1000000 len=8 encoding='ascii' -2.50 % ±4.70% ±6.26% ±8.15%
buffers/buffer-write-string-short.js n=1000000 len=8 encoding='latin1' -1.23 % ±3.55% ±4.73% ±6.15%
buffers/buffer-write-string-short.js n=1000000 len=8 encoding='utf8' 1.24 % ±2.90% ±3.87% ±5.06%
buffers/buffer-write-string.js n=1000000 len=2048 args='' encoding='' -0.06 % ±0.08% ±0.10% ±0.13%
buffers/buffer-write-string.js n=1000000 len=2048 args='' encoding='ascii' *** 7.98 % ±1.30% ±1.73% ±2.25%
buffers/buffer-write-string.js n=1000000 len=2048 args='' encoding='hex' *** 3.96 % ±0.87% ±1.17% ±1.55%
buffers/buffer-write-string.js n=1000000 len=2048 args='' encoding='latin1' *** -7.29 % ±1.51% ±2.02% ±2.65%
buffers/buffer-write-string.js n=1000000 len=2048 args='' encoding='utf16le' *** -5.31 % ±1.09% ±1.45% ±1.89%
buffers/buffer-write-string.js n=1000000 len=2048 args='' encoding='utf8' -0.04 % ±0.10% ±0.13% ±0.17%
buffers/buffer-write-string.js n=1000000 len=2048 args='offset' encoding='' -0.65 % ±1.52% ±2.02% ±2.64%
buffers/buffer-write-string.js n=1000000 len=2048 args='offset' encoding='ascii' 2.91 % ±3.65% ±4.87% ±6.35%
buffers/buffer-write-string.js n=1000000 len=2048 args='offset' encoding='hex' *** 3.11 % ±0.79% ±1.06% ±1.40%
buffers/buffer-write-string.js n=1000000 len=2048 args='offset' encoding='latin1' * -3.59 % ±3.40% ±4.53% ±5.91%
buffers/buffer-write-string.js n=1000000 len=2048 args='offset' encoding='utf16le' *** -8.21 % ±1.84% ±2.45% ±3.19%
buffers/buffer-write-string.js n=1000000 len=2048 args='offset' encoding='utf8' * 1.09 % ±0.99% ±1.32% ±1.72%
buffers/buffer-write-string.js n=1000000 len=2048 args='offset+length' encoding='' -0.53 % ±1.05% ±1.40% ±1.83%
buffers/buffer-write-string.js n=1000000 len=2048 args='offset+length' encoding='ascii' *** 8.92 % ±2.69% ±3.58% ±4.66%
buffers/buffer-write-string.js n=1000000 len=2048 args='offset+length' encoding='hex' *** 4.11 % ±0.81% ±1.09% ±1.43%
buffers/buffer-write-string.js n=1000000 len=2048 args='offset+length' encoding='latin1' 0.79 % ±3.57% ±4.75% ±6.18%
buffers/buffer-write-string.js n=1000000 len=2048 args='offset+length' encoding='utf16le' *** -8.80 % ±0.96% ±1.28% ±1.67%
buffers/buffer-write-string.js n=1000000 len=2048 args='offset+length' encoding='utf8' 0.52 % ±1.10% ±1.47% ±1.91%
buffers/buffer-write.js n=1000000 type='BigInt64BE' buffer='fast' -0.08 % ±1.71% ±2.27% ±2.96%
buffers/buffer-write.js n=1000000 type='BigInt64LE' buffer='fast' -0.37 % ±1.55% ±2.07% ±2.70%
buffers/buffer-write.js n=1000000 type='BigUInt64BE' buffer='fast' * -1.89 % ±1.79% ±2.38% ±3.10%
buffers/buffer-write.js n=1000000 type='BigUInt64LE' buffer='fast' -0.44 % ±1.43% ±1.91% ±2.48%
buffers/buffer-write.js n=1000000 type='DoubleBE' buffer='fast' 10.59 % ±16.11% ±21.44% ±27.91%
buffers/buffer-write.js n=1000000 type='DoubleLE' buffer='fast' -3.77 % ±14.38% ±19.13% ±24.90%
buffers/buffer-write.js n=1000000 type='FloatBE' buffer='fast' -6.22 % ±16.31% ±21.70% ±28.24%
buffers/buffer-write.js n=1000000 type='FloatLE' buffer='fast' 0.20 % ±17.14% ±22.81% ±29.69%
buffers/buffer-write.js n=1000000 type='Int16BE' buffer='fast' -9.49 % ±14.54% ±19.35% ±25.18%
buffers/buffer-write.js n=1000000 type='Int16LE' buffer='fast' 7.21 % ±15.90% ±21.15% ±27.53%
buffers/buffer-write.js n=1000000 type='Int32BE' buffer='fast' 4.14 % ±14.81% ±19.71% ±25.66%
buffers/buffer-write.js n=1000000 type='Int32LE' buffer='fast' -9.60 % ±16.98% ±22.60% ±29.42%
buffers/buffer-write.js n=1000000 type='Int8' buffer='fast' 0.42 % ±10.33% ±13.75% ±17.90%
buffers/buffer-write.js n=1000000 type='IntBE' buffer='fast' * -12.09 % ±9.19% ±12.23% ±15.92%
buffers/buffer-write.js n=1000000 type='IntLE' buffer='fast' -0.95 % ±10.26% ±13.65% ±17.76%
buffers/buffer-write.js n=1000000 type='UInt16BE' buffer='fast' -5.61 % ±15.03% ±20.00% ±26.04%
buffers/buffer-write.js n=1000000 type='UInt16LE' buffer='fast' 12.04 % ±16.41% ±21.84% ±28.43%
buffers/buffer-write.js n=1000000 type='UInt32BE' buffer='fast' -2.40 % ±11.78% ±15.68% ±20.41%
buffers/buffer-write.js n=1000000 type='UInt32LE' buffer='fast' -0.71 % ±11.23% ±14.95% ±19.45%
buffers/buffer-write.js n=1000000 type='UInt8' buffer='fast' -10.65 % ±12.46% ±16.59% ±21.60%
buffers/buffer-write.js n=1000000 type='UIntBE' buffer='fast' -7.00 % ±13.30% ±17.70% ±23.04%
buffers/buffer-write.js n=1000000 type='UIntLE' buffer='fast' 10.19 % ±13.98% ±18.60% ±24.21%
buffers/buffer-zero.js type='buffer' n=1000000 -1.87 % ±2.51% ±3.35% ±4.36%
buffers/buffer-zero.js type='string' n=1000000 -1.80 % ±3.58% ±4.77% ±6.21%
buffers/dataview-set.js n=1000000 type='Float32BE' 1.30 % ±7.95% ±10.58% ±13.77%
buffers/dataview-set.js n=1000000 type='Float32LE' -1.65 % ±8.04% ±10.69% ±13.92%
buffers/dataview-set.js n=1000000 type='Float64BE' 2.54 % ±7.88% ±10.49% ±13.67%
buffers/dataview-set.js n=1000000 type='Float64LE' * 8.12 % ±7.98% ±10.64% ±13.89%
buffers/dataview-set.js n=1000000 type='Int16BE' -1.76 % ±5.20% ±6.92% ±9.01%
buffers/dataview-set.js n=1000000 type='Int16LE' -2.56 % ±5.10% ±6.78% ±8.83%
buffers/dataview-set.js n=1000000 type='Int32BE' 2.12 % ±2.82% ±3.76% ±4.91%
buffers/dataview-set.js n=1000000 type='Int32LE' 0.71 % ±2.84% ±3.79% ±4.93%
buffers/dataview-set.js n=1000000 type='Int8' * -3.28 % ±2.50% ±3.34% ±4.37%
buffers/dataview-set.js n=1000000 type='Uint16BE' -0.43 % ±3.43% ±4.57% ±5.96%
buffers/dataview-set.js n=1000000 type='Uint16LE' -0.50 % ±3.22% ±4.29% ±5.59%
buffers/dataview-set.js n=1000000 type='Uint32BE' -1.61 % ±2.55% ±3.39% ±4.42%
buffers/dataview-set.js n=1000000 type='Uint32LE' 0.66 % ±1.77% ±2.36% ±3.07%
buffers/dataview-set.js n=1000000 type='Uint8' -0.46 % ±1.71% ±2.28% ±2.97%
Be aware that when doing many comparisons the risk of a false-positive
result increases. In this case, there are 471 comparisons, you can thus
expect the following amount of false-positive results:
23.55 false positives, when considering a 5% risk acceptance (*, **, ***),
4.71 false positives, when considering a 1% risk acceptance (**, ***),
0.47 false positives, when considering a 0.1% risk acceptance (***)
btw, this failure in the Github CI seems related:
2025-11-04T21:18:07.4307789Z === release test-buffer-write-fast ===
2025-11-04T21:18:07.4308065Z Path: parallel/test-buffer-write-fast
2025-11-04T21:18:07.4338830Z ##[error]--- stderr ---
node:internal/assert/utils:146
throw error;
^
AssertionError [ERR_ASSERTION]: Expected values to be strictly equal:
0 !== 4
at Object.<anonymous> (/home/runner/work/_temp/node-v26.0.0-nightly2025-10-29feeeb2537a-slim/test/parallel/test-buffer-write-fast.js:44:10)
at Module._compile (node:internal/modules/cjs/loader:1760:14)
at Object..js (node:internal/modules/cjs/loader:1892:10)
at Module.load (node:internal/modules/cjs/loader:1480:32)
at Module._load (node:internal/modules/cjs/loader:1299:12)
at TracingChannel.traceSync (node:diagnostics_channel:328:14)
at wrapModuleLoad (node:internal/modules/cjs/loader:245:24)
at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5)
at node:internal/main/run_main_module:33:47 {
generatedMessage: true,
code: 'ERR_ASSERTION',
actual: 0,
expected: 4,
operator: 'strictEqual',
diff: 'simple'
}
Node.js v26.0.0-pre
Command: out/Release/node --expose-internals --no-warnings --allow-natives-syntax --test-reporter=./test/common/test-error-reporter.js --test-reporter-destination=stdout /home/runner/work/_temp/node-v26.0.0-nightly2025-10-29feeeb2537a-slim/test/parallel/test-buffer-write-fast.js
Def need to open these in a new tab and zooooooooom