node icon indicating copy to clipboard operation
node copied to clipboard

buffer: make methods work on Uint8Array instances

Open nbbeeken opened this issue 1 year ago • 6 comments

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

nbbeeken avatar Jan 13 '25 02:01 nbbeeken

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:

... and 41 files with indirect coverage changes

: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.

codecov[bot] avatar Jan 13 '25 03:01 codecov[bot]

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 (***)

nbbeeken avatar Apr 23 '25 19:04 nbbeeken

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 (***)

addaleax avatar Nov 04 '25 19:11 addaleax

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

addaleax avatar Nov 04 '25 21:11 addaleax

Def need to open these in a new tab and zooooooooom

Visualizing the results of the CI run

Just the significant negatives

bench_results_significant_negative

The negatives (considering error bar)

bench_results_negative

All results

bench_results_full

nbbeeken avatar Nov 06 '25 02:11 nbbeeken