Skip to content

Conversation

@nbbeeken
Copy link
Contributor

@nbbeeken nbbeeken commented Jan 13, 2025

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: #56577

@nodejs-github-bot nodejs-github-bot added buffer Issues and PRs related to the buffer subsystem. needs-ci PRs that need a full CI run. labels Jan 13, 2025
@nbbeeken nbbeeken force-pushed the buffer-generic-methods branch from c35a917 to c73de47 Compare January 13, 2025 02:26
@codecov
Copy link

codecov bot commented Jan 13, 2025

Codecov Report

❌ Patch coverage is 91.12426% with 15 lines in your changes missing coverage. Please review.
✅ Project coverage is 88.52%. Comparing base (daeafc0) to head (bb3173e).
⚠️ Report is 71 commits behind head on main.

Files with missing lines Patch % Lines
src/node_buffer.cc 10.00% 0 Missing and 9 partials ⚠️
lib/internal/buffer.js 95.00% 6 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main   #56578      +/-   ##
==========================================
+ Coverage   88.51%   88.52%   +0.01%     
==========================================
  Files         704      704              
  Lines      208776   208795      +19     
  Branches    40301    40295       -6     
==========================================
+ Hits       184803   184841      +38     
+ Misses      15966    15953      -13     
+ Partials     8007     8001       -6     
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.73% <95.00%> (+0.01%) ⬆️
src/node_buffer.cc 68.61% <10.00%> (-0.21%) ⬇️

... and 44 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@BridgeAR BridgeAR added the needs-benchmark-ci PR that need a benchmark CI run. label Jan 13, 2025
return FunctionPrototypeCall(readInt16BE, this, offset);
if (byteLength === 1)
return this.readInt8(offset);
return FunctionPrototypeCall(readInt8, this, offset);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is already (correctly imo) marked as needing a benchmark CI run, but just as a heads up, if this does turn out to be an issue, it shouldn't be a big deal to create non-prototype versions of these functions that don't use this as the target

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yea I was thinking of that as an alternative implementation but took the route of least blast radius to start, happy to go through and change them to match the other int parsers that take the argument. (Should we go ahead and do that regardless of the benchmarks?)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we go ahead and do that regardless of the benchmarks?

No strong preferences from my side, maybe somebody else has one. But for now, I'd say we can fix the failures reported by GHA, then run regular CI + benchmark CI and see what happens

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

buffers/buffer-bytelength-string.js n=4000000 repeat=2 encoding='utf8' type='two_bytes'                                                                 **     -1.37 %       ±0.99%  ±1.32%  ±1.71%
buffers/buffer-bytelength-string.js n=4000000 repeat=256 encoding='base64' type='latin1'                                                                **      2.49 %       ±1.83%  ±2.45%  ±3.24%
buffers/buffer-creation.js n=600000 len=1024 type='slow-allocUnsafe'                                                                                   ***     -3.01 %       ±1.32%  ±1.76%  ±2.29%
buffers/buffer-creation.js n=600000 len=4096 type='fast-allocUnsafe'                                                                                   ***     -4.03 %       ±2.22%  ±2.96%  ±3.85%
buffers/buffer-creation.js n=600000 len=8192 type='fast-allocUnsafe'                                                                                    **     -2.50 %       ±1.64%  ±2.19%  ±2.86%
buffers/buffer-creation.js n=600000 len=8192 type='slow-allocUnsafe'                                                                                    **     -2.49 %       ±1.44%  ±1.92%  ±2.50%
buffers/buffer-fill.js n=20000 size=8192 type='fill("t", 0)'                                                                                            **     -4.09 %       ±3.06%  ±4.09%  ±5.37%
buffers/buffer-from.js n=800000 len=100 source='uint16array'                                                                                           ***     -2.03 %       ±0.98%  ±1.31%  ±1.71%
buffers/buffer-from.js n=800000 len=2048 source='arraybuffer-middle'                                                                                    **      1.65 %       ±1.21%  ±1.61%  ±2.09%
buffers/buffer-from.js n=800000 len=2048 source='arraybuffer'                                                                                           **      1.82 %       ±1.10%  ±1.46%  ±1.91%
buffers/buffer-swap.js n=1000000 len=256 method='swap32' aligned='false'                                                                                **      0.75 %       ±0.48%  ±0.64%  ±0.84%
buffers/buffer-swap.js n=1000000 len=768 method='swap16' aligned='false'                                                                                **     -1.57 %       ±1.08%  ±1.45%  ±1.90%
buffers/dataview-set.js n=1000000 type='Uint16BE'                                                                                                      ***    -24.92 %       ±1.98%  ±2.65%  ±3.50%
buffers/dataview-set.js n=1000000 type='Uint16LE'                                                                                                      ***    -25.11 %       ±0.99%  ±1.32%  ±1.72%
  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 (***)

Just filtered for the two and three star confidence ones and the changes are small, except for oddly the dataview tests, which just happen to be in the buffers folder, not sure how I could've changed that value but maybe this won't reproduce in CI? 🤞🏻

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the up-to-minus-4% regressions on the others are also a bit concerning though 😕

To me this does feel like an impact we'd want to avoid if we can at all

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

SGTM, I'll try switching over to direct invocations and see if we climb back up

@nbbeeken nbbeeken force-pushed the buffer-generic-methods branch from c73de47 to d2841d6 Compare January 15, 2025 23:59
Comment on lines -101 to -104
// Sanity check (remove if the internals of Buffer.from change):
// The custom implementation of utf8Write should cause Buffer.from() to encode
// traversalPath instead of the sanitized output of resolve().
assert.strictEqual(Buffer.from(resolve(traversalPathWithExtraChars)).toString(), traversalPath);
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If I understood correctly this can be deleted now that Buffer.prototype.utf8Write tampering doesn't impact from/toString. However, the test still has value (along with the tampering code above) if that were to be reversed at any point.

Copy link
Contributor Author

@nbbeeken nbbeeken left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • toString()
  • write()
  • [Symbol.for('nodejs.util.inspect.custom')]()
  • includes()
  • readIntBE() (byteLength: 4, 2, 1)
  • readIntLE() (byteLength: 4, 2, 1)
  • readUIntBE() (byteLength: 4, 2, 1)
  • readUIntLE() (byteLength: 4, 2, 1)

still need to update the docs, just noting the functions changed here

@nbbeeken nbbeeken force-pushed the buffer-generic-methods branch from fde97b3 to 01c4725 Compare January 18, 2025 03:34
@nbbeeken nbbeeken force-pushed the buffer-generic-methods branch from 61c5588 to e6e797d Compare January 25, 2025 14:33
@nbbeeken nbbeeken requested a review from addaleax January 25, 2025 14:33
@nbbeeken nbbeeken force-pushed the buffer-generic-methods branch 2 times, most recently from 4073cae to 6c65286 Compare March 5, 2025 05:12
@nbbeeken nbbeeken force-pushed the buffer-generic-methods branch from 6c65286 to 4a2f0b2 Compare April 23, 2025 16:43
@nbbeeken
Copy link
Contributor Author

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 nbbeeken force-pushed the buffer-generic-methods branch from 4a2f0b2 to 09ee635 Compare June 12, 2025 02:15
@nbbeeken nbbeeken force-pushed the buffer-generic-methods branch from 09ee635 to 1668c89 Compare June 25, 2025 02:37
@nbbeeken nbbeeken force-pushed the buffer-generic-methods branch from 1668c89 to 045ee36 Compare July 16, 2025 12:38
@nbbeeken nbbeeken force-pushed the buffer-generic-methods branch from b0126e3 to 634a3c3 Compare September 3, 2025 06:20
@nbbeeken nbbeeken force-pushed the buffer-generic-methods branch from 634a3c3 to c1936ec Compare September 21, 2025 14:34
@nbbeeken nbbeeken force-pushed the buffer-generic-methods branch from c1936ec to 5c3dce7 Compare October 29, 2025 15:42
@addaleax
Copy link
Member

addaleax commented Nov 4, 2025

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 addaleax added request-ci Add this label to start a Jenkins CI on a PR. and removed request-ci Add this label to start a Jenkins CI on a PR. labels Nov 4, 2025
@addaleax
Copy link
Member

addaleax commented Nov 4, 2025

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

@nbbeeken nbbeeken force-pushed the buffer-generic-methods branch from 5c3dce7 to c21c210 Compare November 6, 2025 00:58
Comment on lines -39 to +43
eval('%OptimizeFunctionOnNextCall(Buffer.prototype.utf8Write)');
eval('%OptimizeFunctionOnNextCall(utf8Write)');
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For the same reason this test was changed: https://github.com/nodejs/node/pull/56578/files#r1917498109

No longer do we rely on neighboring prototype methods as the helpers to support other methods, "writeString" is going to call a floating function "utf8Write" in the buffer module so that it can still work when "this" is a Uint8Array and not a Buffer.

@nbbeeken
Copy link
Contributor Author

nbbeeken commented Nov 6, 2025

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 nbbeeken force-pushed the buffer-generic-methods branch from c21c210 to 17e01f2 Compare December 9, 2025 17:33
@nodejs-github-bot
Copy link
Collaborator

Copy link
Member

@addaleax addaleax left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm good with this in its current state.

Full disclosure: @nbbeeken and me are coworkers, so I'll ping @nodejs/buffer and apply the review wanted label in case somebody else would like to take a look

CI: https://ci.nodejs.org/job/node-test-pull-request/70455/ (💛)
Benchmark CI: https://ci.nodejs.org/view/Node.js%20benchmark/job/benchmark-node-micro-benchmarks/1771/
Edit: Longer Benchmark CI: https://ci.nodejs.org/view/Node.js%20benchmark/job/benchmark-node-micro-benchmarks/1772/

Benchmark CI results
buffers/buffer-atob.js n=1000000 size=128                                                                                                                      -0.66 %       ±0.84%  ±1.10%  ±1.42%
buffers/buffer-atob.js n=1000000 size=16                                                                                                                 *     -0.81 %       ±0.68%  ±0.89%  ±1.14%
buffers/buffer-atob.js n=1000000 size=32                                                                                                                 *      0.76 %       ±0.74%  ±0.98%  ±1.26%
buffers/buffer-atob.js n=1000000 size=64                                                                                                                **      1.22 %       ±0.72%  ±0.95%  ±1.22%
buffers/buffer-base64-decode-wrapped.js n=32 linesCount=524288 charsPerLine=76                                                                                 -0.00 %       ±0.33%  ±0.43%  ±0.55%
buffers/buffer-base64-decode.js size=8388608 n=32                                                                                                              -0.04 %       ±0.07%  ±0.09%  ±0.11%
buffers/buffer-base64-encode.js n=32 len=67108864                                                                                                              -0.02 %       ±0.05%  ±0.06%  ±0.08%
buffers/buffer-base64url-decode.js size=8388608 n=32                                                                                                   ***     -0.12 %       ±0.07%  ±0.09%  ±0.12%
buffers/buffer-base64url-encode.js n=32 len=67108864                                                                                                           -0.01 %       ±0.05%  ±0.06%  ±0.08%
buffers/buffer-btoa.js n=1000000 size=1024                                                                                                             ***     -1.79 %       ±0.30%  ±0.40%  ±0.51%
buffers/buffer-btoa.js n=1000000 size=128                                                                                                              ***     -2.21 %       ±0.78%  ±1.02%  ±1.31%
buffers/buffer-btoa.js n=1000000 size=16                                                                                                               ***     -2.45 %       ±0.73%  ±0.96%  ±1.23%
buffers/buffer-btoa.js n=1000000 size=256                                                                                                                *     -0.91 %       ±0.78%  ±1.03%  ±1.32%
buffers/buffer-btoa.js n=1000000 size=32                                                                                                               ***     -1.83 %       ±0.92%  ±1.22%  ±1.56%
buffers/buffer-btoa.js n=1000000 size=64                                                                                                               ***     -1.86 %       ±0.80%  ±1.06%  ±1.36%
buffers/buffer-bytelength-buffer.js n=4000000 len=16                                                                                                           -0.03 %       ±1.07%  ±1.41%  ±1.81%
buffers/buffer-bytelength-buffer.js n=4000000 len=2                                                                                                            -0.50 %       ±1.00%  ±1.32%  ±1.69%
buffers/buffer-bytelength-buffer.js n=4000000 len=256                                                                                                          -0.73 %       ±1.04%  ±1.37%  ±1.75%
buffers/buffer-bytelength-string.js n=4000000 repeat=1 encoding='base64' type='four_bytes'                                                                      0.37 %       ±1.24%  ±1.64%  ±2.10%
buffers/buffer-bytelength-string.js n=4000000 repeat=1 encoding='base64' type='latin1'                                                                          0.90 %       ±1.22%  ±1.61%  ±2.06%
buffers/buffer-bytelength-string.js n=4000000 repeat=1 encoding='base64' type='one_byte'                                                                        0.76 %       ±1.23%  ±1.61%  ±2.07%
buffers/buffer-bytelength-string.js n=4000000 repeat=1 encoding='base64' type='three_bytes'                                                                    -0.60 %       ±1.23%  ±1.62%  ±2.07%
buffers/buffer-bytelength-string.js n=4000000 repeat=1 encoding='base64' type='two_bytes'                                                                *      1.38 %       ±1.29%  ±1.70%  ±2.18%
buffers/buffer-bytelength-string.js n=4000000 repeat=1 encoding='utf8' type='four_bytes'                                                               ***      6.86 %       ±0.53%  ±0.70%  ±0.89%
buffers/buffer-bytelength-string.js n=4000000 repeat=1 encoding='utf8' type='latin1'                                                                   ***      2.64 %       ±1.06%  ±1.40%  ±1.79%
buffers/buffer-bytelength-string.js n=4000000 repeat=1 encoding='utf8' type='one_byte'                                                                   *      1.20 %       ±0.96%  ±1.27%  ±1.62%
buffers/buffer-bytelength-string.js n=4000000 repeat=1 encoding='utf8' type='three_bytes'                                                              ***     17.84 %       ±0.54%  ±0.71%  ±0.91%
buffers/buffer-bytelength-string.js n=4000000 repeat=1 encoding='utf8' type='two_bytes'                                                                         0.72 %       ±0.85%  ±1.12%  ±1.44%
buffers/buffer-bytelength-string.js n=4000000 repeat=16 encoding='base64' type='four_bytes'                                                                    -0.54 %       ±1.28%  ±1.69%  ±2.16%
buffers/buffer-bytelength-string.js n=4000000 repeat=16 encoding='base64' type='latin1'                                                                         0.53 %       ±1.25%  ±1.65%  ±2.11%
buffers/buffer-bytelength-string.js n=4000000 repeat=16 encoding='base64' type='one_byte'                                                                       0.06 %       ±1.28%  ±1.68%  ±2.16%
buffers/buffer-bytelength-string.js n=4000000 repeat=16 encoding='base64' type='three_bytes'                                                                    0.47 %       ±1.23%  ±1.62%  ±2.08%
buffers/buffer-bytelength-string.js n=4000000 repeat=16 encoding='base64' type='two_bytes'                                                                     -0.60 %       ±1.32%  ±1.73%  ±2.22%
buffers/buffer-bytelength-string.js n=4000000 repeat=16 encoding='utf8' type='four_bytes'                                                                       0.04 %       ±0.04%  ±0.05%  ±0.07%
buffers/buffer-bytelength-string.js n=4000000 repeat=16 encoding='utf8' type='latin1'                                                                    *      0.43 %       ±0.40%  ±0.52%  ±0.67%
buffers/buffer-bytelength-string.js n=4000000 repeat=16 encoding='utf8' type='one_byte'                                                                ***      3.77 %       ±1.23%  ±1.62%  ±2.07%
buffers/buffer-bytelength-string.js n=4000000 repeat=16 encoding='utf8' type='three_bytes'                                                             ***      2.41 %       ±0.09%  ±0.12%  ±0.15%
buffers/buffer-bytelength-string.js n=4000000 repeat=16 encoding='utf8' type='two_bytes'                                                               ***      1.58 %       ±0.09%  ±0.12%  ±0.16%
buffers/buffer-bytelength-string.js n=4000000 repeat=2 encoding='base64' type='four_bytes'                                                               *      1.48 %       ±1.25%  ±1.65%  ±2.11%
buffers/buffer-bytelength-string.js n=4000000 repeat=2 encoding='base64' type='latin1'                                                                         -0.11 %       ±1.27%  ±1.67%  ±2.14%
buffers/buffer-bytelength-string.js n=4000000 repeat=2 encoding='base64' type='one_byte'                                                                        0.47 %       ±1.40%  ±1.85%  ±2.36%
buffers/buffer-bytelength-string.js n=4000000 repeat=2 encoding='base64' type='three_bytes'                                                                     0.41 %       ±1.12%  ±1.47%  ±1.89%
buffers/buffer-bytelength-string.js n=4000000 repeat=2 encoding='base64' type='two_bytes'                                                                      -0.19 %       ±1.24%  ±1.63%  ±2.08%
buffers/buffer-bytelength-string.js n=4000000 repeat=2 encoding='utf8' type='four_bytes'                                                               ***      2.11 %       ±0.25%  ±0.33%  ±0.42%
buffers/buffer-bytelength-string.js n=4000000 repeat=2 encoding='utf8' type='latin1'                                                                   ***      4.28 %       ±1.25%  ±1.64%  ±2.10%
buffers/buffer-bytelength-string.js n=4000000 repeat=2 encoding='utf8' type='one_byte'                                                                 ***      4.40 %       ±1.48%  ±1.95%  ±2.50%
buffers/buffer-bytelength-string.js n=4000000 repeat=2 encoding='utf8' type='three_bytes'                                                              ***     10.69 %       ±0.83%  ±1.10%  ±1.41%
buffers/buffer-bytelength-string.js n=4000000 repeat=2 encoding='utf8' type='two_bytes'                                                                ***     -1.53 %       ±0.79%  ±1.04%  ±1.33%
buffers/buffer-bytelength-string.js n=4000000 repeat=256 encoding='base64' type='four_bytes'                                                                    0.66 %       ±1.30%  ±1.72%  ±2.20%
buffers/buffer-bytelength-string.js n=4000000 repeat=256 encoding='base64' type='latin1'                                                                        0.04 %       ±1.20%  ±1.58%  ±2.02%
buffers/buffer-bytelength-string.js n=4000000 repeat=256 encoding='base64' type='one_byte'                                                                      0.09 %       ±1.18%  ±1.56%  ±1.99%
buffers/buffer-bytelength-string.js n=4000000 repeat=256 encoding='base64' type='three_bytes'                                                           **      1.82 %       ±1.23%  ±1.62%  ±2.07%
buffers/buffer-bytelength-string.js n=4000000 repeat=256 encoding='base64' type='two_bytes'                                                                    -0.35 %       ±1.33%  ±1.75%  ±2.24%
buffers/buffer-bytelength-string.js n=4000000 repeat=256 encoding='utf8' type='four_bytes'                                                             ***     -0.04 %       ±0.01%  ±0.01%  ±0.01%
buffers/buffer-bytelength-string.js n=4000000 repeat=256 encoding='utf8' type='latin1'                                                                         -0.14 %       ±0.28%  ±0.36%  ±0.47%
buffers/buffer-bytelength-string.js n=4000000 repeat=256 encoding='utf8' type='one_byte'                                                                        0.15 %       ±0.64%  ±0.85%  ±1.09%
buffers/buffer-bytelength-string.js n=4000000 repeat=256 encoding='utf8' type='three_bytes'                                                            ***      3.46 %       ±0.04%  ±0.05%  ±0.06%
buffers/buffer-bytelength-string.js n=4000000 repeat=256 encoding='utf8' type='two_bytes'                                                              ***      1.90 %       ±0.04%  ±0.05%  ±0.07%
buffers/buffer-compare-instance-method.js n=1000000 args=1 size=16                                                                                     ***     -7.30 %       ±1.37%  ±1.80%  ±2.31%
buffers/buffer-compare-instance-method.js n=1000000 args=1 size=16386                                                                                  ***     -8.41 %       ±1.55%  ±2.04%  ±2.62%
buffers/buffer-compare-instance-method.js n=1000000 args=1 size=4096                                                                                    **     -2.59 %       ±1.62%  ±2.13%  ±2.73%
buffers/buffer-compare-instance-method.js n=1000000 args=1 size=512                                                                                    ***     -4.22 %       ±1.76%  ±2.31%  ±2.96%
buffers/buffer-compare-instance-method.js n=1000000 args=2 size=16                                                                                       *      1.06 %       ±1.01%  ±1.33%  ±1.70%
buffers/buffer-compare-instance-method.js n=1000000 args=2 size=16386                                                                                  ***     -9.11 %       ±1.78%  ±2.35%  ±3.01%
buffers/buffer-compare-instance-method.js n=1000000 args=2 size=4096                                                                                     *     -1.83 %       ±1.49%  ±1.96%  ±2.51%
buffers/buffer-compare-instance-method.js n=1000000 args=2 size=512                                                                                    ***     -2.28 %       ±1.03%  ±1.36%  ±1.74%
buffers/buffer-compare-instance-method.js n=1000000 args=5 size=16                                                                                       *      1.55 %       ±1.35%  ±1.78%  ±2.28%
buffers/buffer-compare-instance-method.js n=1000000 args=5 size=16386                                                                                  ***     -7.65 %       ±1.88%  ±2.47%  ±3.17%
buffers/buffer-compare-instance-method.js n=1000000 args=5 size=4096                                                                                   ***     -2.41 %       ±1.40%  ±1.85%  ±2.37%
buffers/buffer-compare-instance-method.js n=1000000 args=5 size=512                                                                                     **     -2.05 %       ±1.37%  ±1.80%  ±2.31%
buffers/buffer-compare-offset.js n=1000000 size=16 method='offset'                                                                                              0.69 %       ±0.76%  ±1.00%  ±1.28%
buffers/buffer-compare-offset.js n=1000000 size=16 method='slice'                                                                                      ***     -4.91 %       ±0.67%  ±0.88%  ±1.12%
buffers/buffer-compare-offset.js n=1000000 size=16386 method='offset'                                                                                  ***     -1.41 %       ±0.79%  ±1.04%  ±1.34%
buffers/buffer-compare-offset.js n=1000000 size=16386 method='slice'                                                                                   ***     -4.89 %       ±0.77%  ±1.02%  ±1.30%
buffers/buffer-compare-offset.js n=1000000 size=4096 method='offset'                                                                                   ***     -1.86 %       ±0.86%  ±1.13%  ±1.45%
buffers/buffer-compare-offset.js n=1000000 size=4096 method='slice'                                                                                    ***     -5.16 %       ±0.71%  ±0.94%  ±1.20%
buffers/buffer-compare-offset.js n=1000000 size=512 method='offset'                                                                                    ***     -1.48 %       ±0.75%  ±0.98%  ±1.26%
buffers/buffer-compare-offset.js n=1000000 size=512 method='slice'                                                                                     ***     -4.48 %       ±0.75%  ±0.99%  ±1.26%
buffers/buffer-compare.js n=1000000 size=16                                                                                                            ***     -3.84 %       ±0.93%  ±1.22%  ±1.56%
buffers/buffer-compare.js n=1000000 size=16386                                                                                                                  0.41 %       ±0.49%  ±0.65%  ±0.83%
buffers/buffer-compare.js n=1000000 size=4096                                                                                                          ***     -4.37 %       ±0.98%  ±1.29%  ±1.65%
buffers/buffer-compare.js n=1000000 size=512                                                                                                           ***     -3.49 %       ±0.88%  ±1.15%  ±1.48%
buffers/buffer-concat-fill.js n=800000 extraSize=1                                                                                                             -0.05 %       ±0.35%  ±0.46%  ±0.59%
buffers/buffer-concat-fill.js n=800000 extraSize=1024                                                                                                          -0.03 %       ±0.32%  ±0.42%  ±0.53%
buffers/buffer-concat-fill.js n=800000 extraSize=256                                                                                                            0.16 %       ±0.32%  ±0.42%  ±0.54%
buffers/buffer-concat.js n=800000 withTotalLength=0 pieceSize=1 pieces=16                                                                                      -0.03 %       ±0.51%  ±0.68%  ±0.87%
buffers/buffer-concat.js n=800000 withTotalLength=0 pieceSize=1 pieces=4                                                                                        0.20 %       ±0.75%  ±0.98%  ±1.26%
buffers/buffer-concat.js n=800000 withTotalLength=0 pieceSize=16 pieces=16                                                                               *     -0.49 %       ±0.45%  ±0.60%  ±0.76%
buffers/buffer-concat.js n=800000 withTotalLength=0 pieceSize=16 pieces=4                                                                                      -0.17 %       ±0.72%  ±0.95%  ±1.22%
buffers/buffer-concat.js n=800000 withTotalLength=0 pieceSize=256 pieces=16                                                                              *     -0.35 %       ±0.28%  ±0.36%  ±0.47%
buffers/buffer-concat.js n=800000 withTotalLength=0 pieceSize=256 pieces=4                                                                                      0.10 %       ±0.41%  ±0.54%  ±0.70%
buffers/buffer-concat.js n=800000 withTotalLength=1 pieceSize=1 pieces=16                                                                              ***      0.89 %       ±0.47%  ±0.62%  ±0.80%
buffers/buffer-concat.js n=800000 withTotalLength=1 pieceSize=1 pieces=4                                                                               ***     -1.31 %       ±0.66%  ±0.88%  ±1.12%
buffers/buffer-concat.js n=800000 withTotalLength=1 pieceSize=16 pieces=16                                                                             ***      1.46 %       ±0.51%  ±0.67%  ±0.86%
buffers/buffer-concat.js n=800000 withTotalLength=1 pieceSize=16 pieces=4                                                                                      -0.71 %       ±0.78%  ±1.03%  ±1.32%
buffers/buffer-concat.js n=800000 withTotalLength=1 pieceSize=256 pieces=16                                                                            ***     -0.58 %       ±0.28%  ±0.37%  ±0.48%
buffers/buffer-concat.js n=800000 withTotalLength=1 pieceSize=256 pieces=4                                                                             ***     -0.83 %       ±0.39%  ±0.52%  ±0.66%
buffers/buffer-copy.js n=6000000 partial='false' bytes=1024                                                                                                     0.49 %       ±0.76%  ±1.00%  ±1.29%
buffers/buffer-copy.js n=6000000 partial='false' bytes=128                                                                                                     -0.32 %       ±1.03%  ±1.35%  ±1.73%
buffers/buffer-copy.js n=6000000 partial='false' bytes=8                                                                                                 *      1.26 %       ±1.02%  ±1.34%  ±1.71%
buffers/buffer-copy.js n=6000000 partial='true' bytes=1024                                                                                             ***     -0.54 %       ±0.30%  ±0.39%  ±0.50%
buffers/buffer-copy.js n=6000000 partial='true' bytes=128                                                                                              ***     -6.72 %       ±0.30%  ±0.40%  ±0.51%
buffers/buffer-copy.js n=6000000 partial='true' bytes=8                                                                                                ***     -7.99 %       ±0.39%  ±0.52%  ±0.66%
buffers/buffer-creation.js n=600000 len=10 type='fast-alloc-fill'                                                                                      ***     -4.50 %       ±1.82%  ±2.39%  ±3.07%
buffers/buffer-creation.js n=600000 len=10 type='fast-alloc'                                                                                           ***     -4.25 %       ±1.93%  ±2.54%  ±3.25%
buffers/buffer-creation.js n=600000 len=10 type='fast-allocUnsafe'                                                                                             -1.91 %       ±2.19%  ±2.88%  ±3.70%
buffers/buffer-creation.js n=600000 len=10 type='slow-allocUnsafe'                                                                                     ***     -2.67 %       ±1.39%  ±1.82%  ±2.34%
buffers/buffer-creation.js n=600000 len=1024 type='fast-alloc-fill'                                                                                    ***     -1.17 %       ±0.31%  ±0.40%  ±0.52%
buffers/buffer-creation.js n=600000 len=1024 type='fast-alloc'                                                                                         ***     -1.10 %       ±0.31%  ±0.41%  ±0.53%
buffers/buffer-creation.js n=600000 len=1024 type='fast-allocUnsafe'                                                                                   ***     -1.20 %       ±0.59%  ±0.77%  ±0.99%
buffers/buffer-creation.js n=600000 len=1024 type='slow-allocUnsafe'                                                                                   ***     -1.57 %       ±0.31%  ±0.40%  ±0.52%
buffers/buffer-creation.js n=600000 len=4096 type='fast-alloc-fill'                                                                                      *     -0.38 %       ±0.31%  ±0.40%  ±0.52%
buffers/buffer-creation.js n=600000 len=4096 type='fast-alloc'                                                                                                 -0.11 %       ±0.30%  ±0.40%  ±0.51%
buffers/buffer-creation.js n=600000 len=4096 type='fast-allocUnsafe'                                                                                   ***     -1.41 %       ±0.30%  ±0.40%  ±0.51%
buffers/buffer-creation.js n=600000 len=4096 type='slow-allocUnsafe'                                                                                   ***     -1.56 %       ±0.33%  ±0.44%  ±0.56%
buffers/buffer-creation.js n=600000 len=8192 type='fast-alloc-fill'                                                                                            -0.14 %       ±0.28%  ±0.37%  ±0.47%
buffers/buffer-creation.js n=600000 len=8192 type='fast-alloc'                                                                                                  0.13 %       ±0.31%  ±0.41%  ±0.53%
buffers/buffer-creation.js n=600000 len=8192 type='fast-allocUnsafe'                                                                                   ***     -1.33 %       ±0.33%  ±0.44%  ±0.56%
buffers/buffer-creation.js n=600000 len=8192 type='slow-allocUnsafe'                                                                                   ***     -0.79 %       ±0.35%  ±0.46%  ±0.60%
buffers/buffer-equals.js n=1000000 difflen='false' size=0                                                                                                      -0.34 %       ±0.73%  ±0.96%  ±1.23%
buffers/buffer-equals.js n=1000000 difflen='false' size=16386                                                                                                  -0.40 %       ±0.48%  ±0.63%  ±0.80%
buffers/buffer-equals.js n=1000000 difflen='false' size=512                                                                                            ***     -3.35 %       ±0.80%  ±1.06%  ±1.35%
buffers/buffer-equals.js n=1000000 difflen='true' size=0                                                                                                       -0.51 %       ±0.89%  ±1.17%  ±1.50%
buffers/buffer-equals.js n=1000000 difflen='true' size=16386                                                                                                    0.58 %       ±1.09%  ±1.43%  ±1.84%
buffers/buffer-equals.js n=1000000 difflen='true' size=512                                                                                                      0.43 %       ±0.59%  ±0.78%  ±1.00%
buffers/buffer-fill.js n=20000 size=65536 type='fill("")'                                                                                              ***     -6.27 %       ±1.49%  ±1.96%  ±2.52%
buffers/buffer-fill.js n=20000 size=65536 type='fill("t", "utf8")'                                                                                     ***     -7.11 %       ±1.74%  ±2.30%  ±2.95%
buffers/buffer-fill.js n=20000 size=65536 type='fill("t", 0, "utf8")'                                                                                  ***    -10.27 %       ±1.71%  ±2.26%  ±2.89%
buffers/buffer-fill.js n=20000 size=65536 type='fill("t", 0)'                                                                                                   0.39 %       ±0.78%  ±1.02%  ±1.31%
buffers/buffer-fill.js n=20000 size=65536 type='fill("t")'                                                                                             ***     -4.41 %       ±1.72%  ±2.27%  ±2.91%
buffers/buffer-fill.js n=20000 size=65536 type='fill("test")'                                                                                          ***     -7.51 %       ±1.79%  ±2.36%  ±3.02%
buffers/buffer-fill.js n=20000 size=65536 type='fill(0)'                                                                                                **     -0.88 %       ±0.64%  ±0.85%  ±1.09%
buffers/buffer-fill.js n=20000 size=65536 type='fill(100)'                                                                                                     -0.35 %       ±0.76%  ±1.00%  ±1.29%
buffers/buffer-fill.js n=20000 size=65536 type='fill(400)'                                                                                               *      0.89 %       ±0.76%  ±1.00%  ±1.29%
buffers/buffer-fill.js n=20000 size=65536 type='fill(Buffer.alloc(1), 0)'                                                                              ***     -6.51 %       ±1.59%  ±2.09%  ±2.69%
buffers/buffer-fill.js n=20000 size=8192 type='fill("")'                                                                                               ***    -21.72 %       ±5.12%  ±6.75%  ±8.65%
buffers/buffer-fill.js n=20000 size=8192 type='fill("t", "utf8")'                                                                                      ***    -20.96 %       ±4.54%  ±5.98%  ±7.67%
buffers/buffer-fill.js n=20000 size=8192 type='fill("t", 0, "utf8")'                                                                                   ***    -18.56 %       ±4.86%  ±6.41%  ±8.21%
buffers/buffer-fill.js n=20000 size=8192 type='fill("t", 0)'                                                                                           ***    -23.83 %       ±4.25%  ±5.61%  ±7.19%
buffers/buffer-fill.js n=20000 size=8192 type='fill("t")'                                                                                              ***    -24.04 %       ±4.83%  ±6.37%  ±8.16%
buffers/buffer-fill.js n=20000 size=8192 type='fill("test")'                                                                                           ***    -25.09 %       ±4.10%  ±5.40%  ±6.93%
buffers/buffer-fill.js n=20000 size=8192 type='fill(0)'                                                                                                  *      0.88 %       ±0.72%  ±0.95%  ±1.22%
buffers/buffer-fill.js n=20000 size=8192 type='fill(100)'                                                                                              ***      2.26 %       ±1.01%  ±1.33%  ±1.70%
buffers/buffer-fill.js n=20000 size=8192 type='fill(400)'                                                                                                       0.37 %       ±1.37%  ±1.81%  ±2.32%
buffers/buffer-fill.js n=20000 size=8192 type='fill(Buffer.alloc(1), 0)'                                                                               ***     -8.16 %       ±3.87%  ±5.10%  ±6.53%
buffers/buffer-from.js n=800000 len=100 source='array'                                                                                                         -0.09 %       ±0.45%  ±0.59%  ±0.76%
buffers/buffer-from.js n=800000 len=100 source='arraybuffer-middle'                                                                                    ***     -3.70 %       ±1.73%  ±2.28%  ±2.92%
buffers/buffer-from.js n=800000 len=100 source='arraybuffer'                                                                                             *     -2.12 %       ±1.72%  ±2.27%  ±2.91%
buffers/buffer-from.js n=800000 len=100 source='buffer'                                                                                                ***     -1.92 %       ±1.09%  ±1.44%  ±1.84%
buffers/buffer-from.js n=800000 len=100 source='object'                                                                                                ***     -2.68 %       ±1.44%  ±1.90%  ±2.43%
buffers/buffer-from.js n=800000 len=100 source='string-base64'                                                                                         ***     -3.63 %       ±0.49%  ±0.65%  ±0.83%
buffers/buffer-from.js n=800000 len=100 source='string-utf8'                                                                                           ***     -4.41 %       ±0.81%  ±1.06%  ±1.36%
buffers/buffer-from.js n=800000 len=100 source='string'                                                                                                ***     -3.62 %       ±0.78%  ±1.03%  ±1.32%
buffers/buffer-from.js n=800000 len=100 source='uint16array'                                                                                            **      1.27 %       ±0.84%  ±1.10%  ±1.41%
buffers/buffer-from.js n=800000 len=100 source='uint8array'                                                                                                    -1.11 %       ±1.16%  ±1.52%  ±1.95%
buffers/buffer-from.js n=800000 len=2048 source='array'                                                                                                ***      0.29 %       ±0.10%  ±0.13%  ±0.16%
buffers/buffer-from.js n=800000 len=2048 source='arraybuffer-middle'                                                                                   ***     -3.12 %       ±1.71%  ±2.25%  ±2.88%
buffers/buffer-from.js n=800000 len=2048 source='arraybuffer'                                                                                                  -1.24 %       ±1.88%  ±2.47%  ±3.17%
buffers/buffer-from.js n=800000 len=2048 source='buffer'                                                                                               ***     -0.67 %       ±0.37%  ±0.48%  ±0.62%
buffers/buffer-from.js n=800000 len=2048 source='object'                                                                                                 *     -1.99 %       ±1.79%  ±2.36%  ±3.03%
buffers/buffer-from.js n=800000 len=2048 source='string-base64'                                                                                                 0.21 %       ±0.30%  ±0.39%  ±0.51%
buffers/buffer-from.js n=800000 len=2048 source='string-utf8'                                                                                                  -0.14 %       ±0.35%  ±0.46%  ±0.59%
buffers/buffer-from.js n=800000 len=2048 source='string'                                                                                               ***     -1.08 %       ±0.37%  ±0.49%  ±0.63%
buffers/buffer-from.js n=800000 len=2048 source='uint16array'                                                                                                   0.31 %       ±0.32%  ±0.42%  ±0.54%
buffers/buffer-from.js n=800000 len=2048 source='uint8array'                                                                                           ***      0.93 %       ±0.42%  ±0.55%  ±0.71%
buffers/buffer-hex-decode.js n=1000000 len=1024                                                                                                        ***     -8.26 %       ±0.22%  ±0.28%  ±0.36%
buffers/buffer-hex-decode.js n=1000000 len=64                                                                                                          ***      3.34 %       ±0.41%  ±0.53%  ±0.68%
buffers/buffer-hex-encode.js n=1000000 len=1024                                                                                                        ***     -0.40 %       ±0.06%  ±0.08%  ±0.10%
buffers/buffer-hex-encode.js n=1000000 len=64                                                                                                          ***     -4.58 %       ±0.39%  ±0.51%  ±0.65%
buffers/buffer-indexof-number.js n=1000000 value=64                                                                                                            -0.51 %       ±1.23%  ±1.61%  ±2.07%
buffers/buffer-indexof.js n=50000 type='buffer' encoding='undefined' search='--l'                                                                               0.15 %       ±0.17%  ±0.22%  ±0.28%
buffers/buffer-indexof.js n=50000 type='buffer' encoding='undefined' search='@'                                                                                -3.04 %       ±4.45%  ±5.86%  ±7.51%
buffers/buffer-indexof.js n=50000 type='buffer' encoding='undefined' search='</i> to the Caterpillar'                                                  ***     -0.17 %       ±0.07%  ±0.09%  ±0.11%
buffers/buffer-indexof.js n=50000 type='buffer' encoding='undefined' search='aaaaaaaaaaaaaaaaa'                                                        ***      0.19 %       ±0.04%  ±0.06%  ±0.07%
buffers/buffer-indexof.js n=50000 type='buffer' encoding='undefined' search='Alice'                                                                    ***    -12.41 %       ±5.10%  ±6.72%  ±8.60%
buffers/buffer-indexof.js n=50000 type='buffer' encoding='undefined' search='found it very'                                                            ***      0.30 %       ±0.02%  ±0.03%  ±0.03%
buffers/buffer-indexof.js n=50000 type='buffer' encoding='undefined' search='Gryphon'                                                                           0.11 %       ±0.38%  ±0.51%  ±0.65%
buffers/buffer-indexof.js n=50000 type='buffer' encoding='undefined' search='neighbouring pool'                                                          *     -0.03 %       ±0.02%  ±0.03%  ±0.04%
buffers/buffer-indexof.js n=50000 type='buffer' encoding='undefined' search='Ou est ma chatte?'                                                        ***      0.23 %       ±0.06%  ±0.08%  ±0.11%
buffers/buffer-indexof.js n=50000 type='buffer' encoding='undefined' search='SQ'                                                                       ***      3.76 %       ±1.16%  ±1.53%  ±1.96%
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.53 %       ±0.65%  ±0.85%  ±1.09%
buffers/buffer-indexof.js n=50000 type='string' encoding='ucs2' search='--l'                                                                             *      0.42 %       ±0.34%  ±0.44%  ±0.57%
buffers/buffer-indexof.js n=50000 type='string' encoding='ucs2' search='@'                                                                                      0.33 %       ±3.42%  ±4.50%  ±5.77%
buffers/buffer-indexof.js n=50000 type='string' encoding='ucs2' search='</i> to the Caterpillar'                                                       ***      2.48 %       ±1.07%  ±1.41%  ±1.81%
buffers/buffer-indexof.js n=50000 type='string' encoding='ucs2' search='aaaaaaaaaaaaaaaaa'                                                              **      1.55 %       ±0.93%  ±1.23%  ±1.58%
buffers/buffer-indexof.js n=50000 type='string' encoding='ucs2' search='Alice'                                                                         ***    -10.64 %       ±4.48%  ±5.90%  ±7.56%
buffers/buffer-indexof.js n=50000 type='string' encoding='ucs2' search='found it very'                                                                 ***      1.06 %       ±0.47%  ±0.62%  ±0.80%
buffers/buffer-indexof.js n=50000 type='string' encoding='ucs2' search='Gryphon'                                                                               -0.16 %       ±0.32%  ±0.43%  ±0.55%
buffers/buffer-indexof.js n=50000 type='string' encoding='ucs2' search='neighbouring pool'                                                             ***      1.21 %       ±0.57%  ±0.75%  ±0.96%
buffers/buffer-indexof.js n=50000 type='string' encoding='ucs2' search='Ou est ma chatte?'                                                               *      0.76 %       ±0.61%  ±0.81%  ±1.03%
buffers/buffer-indexof.js n=50000 type='string' encoding='ucs2' search='SQ'                                                                            ***     -1.33 %       ±0.58%  ±0.77%  ±0.98%
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.99 %       ±0.77%  ±1.02%  ±1.30%
buffers/buffer-indexof.js n=50000 type='string' encoding='utf8' search='--l'                                                                                    0.06 %       ±0.20%  ±0.26%  ±0.34%
buffers/buffer-indexof.js n=50000 type='string' encoding='utf8' search='@'                                                                             ***    -17.53 %       ±3.58%  ±4.72%  ±6.04%
buffers/buffer-indexof.js n=50000 type='string' encoding='utf8' search='</i> to the Caterpillar'                                                                0.42 %       ±0.77%  ±1.01%  ±1.29%
buffers/buffer-indexof.js n=50000 type='string' encoding='utf8' search='aaaaaaaaaaaaaaaaa'                                                             ***      1.75 %       ±0.98%  ±1.30%  ±1.66%
buffers/buffer-indexof.js n=50000 type='string' encoding='utf8' search='Alice'                                                                         ***    -14.93 %       ±4.23%  ±5.57%  ±7.13%
buffers/buffer-indexof.js n=50000 type='string' encoding='utf8' search='found it very'                                                                   *      0.57 %       ±0.52%  ±0.68%  ±0.88%
buffers/buffer-indexof.js n=50000 type='string' encoding='utf8' search='Gryphon'                                                                               -0.02 %       ±0.40%  ±0.52%  ±0.67%
buffers/buffer-indexof.js n=50000 type='string' encoding='utf8' search='neighbouring pool'                                                              **      1.18 %       ±0.70%  ±0.92%  ±1.18%
buffers/buffer-indexof.js n=50000 type='string' encoding='utf8' search='Ou est ma chatte?'                                                             ***      0.22 %       ±0.08%  ±0.10%  ±0.13%
buffers/buffer-indexof.js n=50000 type='string' encoding='utf8' search='SQ'                                                                            ***      5.59 %       ±1.66%  ±2.19%  ±2.80%
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.75 %       ±0.99%  ±1.31%  ±1.68%
buffers/buffer-isascii.js input='hello world' length='long' n=20000000                                                                                          0.48 %       ±0.70%  ±0.92%  ±1.18%
buffers/buffer-isascii.js input='hello world' length='short' n=20000000                                                                                ***     -3.14 %       ±0.72%  ±0.94%  ±1.21%
buffers/buffer-isutf8.js input='∀x∈ℝ: ⌈x⌉ = −⌊−x⌋' length='long' n=20000000                                                                            ***     -0.44 %       ±0.03%  ±0.04%  ±0.05%
buffers/buffer-isutf8.js input='∀x∈ℝ: ⌈x⌉ = −⌊−x⌋' length='short' n=20000000                                                                                   -0.56 %       ±0.81%  ±1.06%  ±1.36%
buffers/buffer-isutf8.js input='regular string' length='long' n=20000000                                                                               ***    -19.05 %       ±1.15%  ±1.51%  ±1.94%
buffers/buffer-isutf8.js input='regular string' length='short' n=20000000                                                                                       0.07 %       ±0.54%  ±0.71%  ±0.91%
buffers/buffer-iterate.js n=1000 method='for' type='fast' size=16386                                                                                   ***     -6.35 %       ±1.92%  ±2.53%  ±3.25%
buffers/buffer-iterate.js n=1000 method='for' type='fast' size=4096                                                                                    ***    -12.72 %       ±3.53%  ±4.64%  ±5.95%
buffers/buffer-iterate.js n=1000 method='for' type='fast' size=512                                                                                     ***    -15.66 %       ±6.86%  ±9.04% ±11.58%
buffers/buffer-iterate.js n=1000 method='forOf' type='fast' size=16386                                                                                         -0.22 %       ±0.69%  ±0.91%  ±1.16%
buffers/buffer-iterate.js n=1000 method='forOf' type='fast' size=4096                                                                                  ***     -3.69 %       ±1.94%  ±2.56%  ±3.28%
buffers/buffer-iterate.js n=1000 method='forOf' type='fast' size=512                                                                                     *     -5.06 %       ±4.94%  ±6.51%  ±8.34%
buffers/buffer-iterate.js n=1000 method='iterator' type='fast' size=16386                                                                              ***     -3.66 %       ±0.55%  ±0.72%  ±0.93%
buffers/buffer-iterate.js n=1000 method='iterator' type='fast' size=4096                                                                               ***     -6.86 %       ±1.48%  ±1.94%  ±2.49%
buffers/buffer-iterate.js n=1000 method='iterator' type='fast' size=512                                                                                ***     -8.71 %       ±4.65%  ±6.13%  ±7.85%
buffers/buffer-normalize-encoding.js n=1000000 encoding='ascii'                                                                                          *     -2.10 %       ±1.95%  ±2.57%  ±3.29%
buffers/buffer-normalize-encoding.js n=1000000 encoding='base64'                                                                                               -0.43 %       ±0.57%  ±0.76%  ±0.97%
buffers/buffer-normalize-encoding.js n=1000000 encoding='BASE64'                                                                                                0.54 %       ±1.51%  ±1.98%  ±2.54%
buffers/buffer-normalize-encoding.js n=1000000 encoding='binary'                                                                                               -0.50 %       ±1.87%  ±2.46%  ±3.15%
buffers/buffer-normalize-encoding.js n=1000000 encoding='hex'                                                                                            *     -1.10 %       ±0.84%  ±1.10%  ±1.42%
buffers/buffer-normalize-encoding.js n=1000000 encoding='HEX'                                                                                                   0.11 %       ±2.37%  ±3.12%  ±4.00%
buffers/buffer-normalize-encoding.js n=1000000 encoding='latin1'                                                                                                2.20 %       ±2.66%  ±3.51%  ±4.49%
buffers/buffer-normalize-encoding.js n=1000000 encoding='LATIN1'                                                                                                0.57 %       ±1.55%  ±2.05%  ±2.62%
buffers/buffer-normalize-encoding.js n=1000000 encoding='UCS-2'                                                                                                -0.10 %       ±1.31%  ±1.73%  ±2.22%
buffers/buffer-normalize-encoding.js n=1000000 encoding='UCS2'                                                                                                  0.66 %       ±1.61%  ±2.12%  ±2.72%
buffers/buffer-normalize-encoding.js n=1000000 encoding='utf-16le'                                                                                              0.02 %       ±0.98%  ±1.29%  ±1.66%
buffers/buffer-normalize-encoding.js n=1000000 encoding='UTF-16LE'                                                                                              0.11 %       ±2.43%  ±3.21%  ±4.11%
buffers/buffer-normalize-encoding.js n=1000000 encoding='utf-8'                                                                                                 0.07 %       ±0.59%  ±0.78%  ±1.00%
buffers/buffer-normalize-encoding.js n=1000000 encoding='utf16le'                                                                                              -0.51 %       ±0.53%  ±0.69%  ±0.89%
buffers/buffer-normalize-encoding.js n=1000000 encoding='UTF16LE'                                                                                              -0.66 %       ±2.57%  ±3.39%  ±4.34%
buffers/buffer-normalize-encoding.js n=1000000 encoding='utf8'                                                                                                 -0.18 %       ±0.44%  ±0.58%  ±0.74%
buffers/buffer-normalize-encoding.js n=1000000 encoding='UTF8'                                                                                                 -1.19 %       ±1.20%  ±1.58%  ±2.03%
buffers/buffer-read-float.js n=1000000 value='big' endian='LE' type='Double'                                                                                    3.05 %       ±6.83%  ±8.99% ±11.52%
buffers/buffer-read-float.js n=1000000 value='big' endian='LE' type='Float'                                                                             **     -9.78 %       ±6.88%  ±9.06% ±11.62%
buffers/buffer-read-float.js n=1000000 value='inf' endian='LE' type='Double'                                                                                   -0.06 %       ±6.74%  ±8.88% ±11.38%
buffers/buffer-read-float.js n=1000000 value='inf' endian='LE' type='Float'                                                                              *      9.32 %       ±7.72% ±10.17% ±13.03%
buffers/buffer-read-float.js n=1000000 value='nan' endian='LE' type='Double'                                                                             *      9.05 %       ±6.98%  ±9.19% ±11.77%
buffers/buffer-read-float.js n=1000000 value='nan' endian='LE' type='Float'                                                                                    -1.13 %       ±7.43%  ±9.78% ±12.53%
buffers/buffer-read-float.js n=1000000 value='small' endian='LE' type='Double'                                                                                  2.72 %       ±6.85%  ±9.01% ±11.55%
buffers/buffer-read-float.js n=1000000 value='small' endian='LE' type='Float'                                                                                  -1.41 %       ±7.48%  ±9.85% ±12.62%
buffers/buffer-read-float.js n=1000000 value='zero' endian='LE' type='Double'                                                                           **     -8.51 %       ±6.08%  ±8.00% ±10.25%
buffers/buffer-read-float.js n=1000000 value='zero' endian='LE' type='Float'                                                                                   -2.86 %       ±7.41%  ±9.76% ±12.50%
buffers/buffer-read-with-byteLength.js byteLength=1 n=1000000 type='IntBE' buffer='fast'                                                               ***    -21.95 %       ±5.03%  ±6.62%  ±8.48%
buffers/buffer-read-with-byteLength.js byteLength=1 n=1000000 type='IntLE' buffer='fast'                                                               ***    -15.95 %       ±5.33%  ±7.02%  ±8.99%
buffers/buffer-read-with-byteLength.js byteLength=1 n=1000000 type='UIntBE' buffer='fast'                                                              ***    -18.34 %       ±5.16%  ±6.80%  ±8.71%
buffers/buffer-read-with-byteLength.js byteLength=1 n=1000000 type='UIntLE' buffer='fast'                                                              ***    -14.22 %       ±5.14%  ±6.76%  ±8.67%
buffers/buffer-read-with-byteLength.js byteLength=2 n=1000000 type='IntBE' buffer='fast'                                                                 *     -6.66 %       ±5.90%  ±7.77%  ±9.96%
buffers/buffer-read-with-byteLength.js byteLength=2 n=1000000 type='IntLE' buffer='fast'                                                               ***    -15.20 %       ±5.52%  ±7.26%  ±9.31%
buffers/buffer-read-with-byteLength.js byteLength=2 n=1000000 type='UIntBE' buffer='fast'                                                              ***    -13.91 %       ±5.77%  ±7.59%  ±9.73%
buffers/buffer-read-with-byteLength.js byteLength=2 n=1000000 type='UIntLE' buffer='fast'                                                               **     -9.12 %       ±6.00%  ±7.90% ±10.13%
buffers/buffer-read-with-byteLength.js byteLength=3 n=1000000 type='IntBE' buffer='fast'                                                               ***    -13.28 %       ±5.71%  ±7.52%  ±9.64%
buffers/buffer-read-with-byteLength.js byteLength=3 n=1000000 type='IntLE' buffer='fast'                                                               ***    -17.71 %       ±5.41%  ±7.13%  ±9.13%
buffers/buffer-read-with-byteLength.js byteLength=3 n=1000000 type='UIntBE' buffer='fast'                                                                       2.74 %       ±6.21%  ±8.17% ±10.47%
buffers/buffer-read-with-byteLength.js byteLength=3 n=1000000 type='UIntLE' buffer='fast'                                                                      -1.01 %       ±5.72%  ±7.53%  ±9.65%
buffers/buffer-read-with-byteLength.js byteLength=4 n=1000000 type='IntBE' buffer='fast'                                                                       -0.16 %       ±5.97%  ±7.86% ±10.07%
buffers/buffer-read-with-byteLength.js byteLength=4 n=1000000 type='IntLE' buffer='fast'                                                                       -1.10 %       ±5.98%  ±7.88% ±10.09%
buffers/buffer-read-with-byteLength.js byteLength=4 n=1000000 type='UIntBE' buffer='fast'                                                               **     -9.29 %       ±5.70%  ±7.51%  ±9.62%
buffers/buffer-read-with-byteLength.js byteLength=4 n=1000000 type='UIntLE' buffer='fast'                                                                       0.70 %       ±6.16%  ±8.11% ±10.39%
buffers/buffer-read-with-byteLength.js byteLength=5 n=1000000 type='IntBE' buffer='fast'                                                                **     -7.88 %       ±5.14%  ±6.77%  ±8.67%
buffers/buffer-read-with-byteLength.js byteLength=5 n=1000000 type='IntLE' buffer='fast'                                                                       -3.44 %       ±5.54%  ±7.29%  ±9.34%
buffers/buffer-read-with-byteLength.js byteLength=5 n=1000000 type='UIntBE' buffer='fast'                                                                      -0.90 %       ±6.16%  ±8.11% ±10.38%
buffers/buffer-read-with-byteLength.js byteLength=5 n=1000000 type='UIntLE' buffer='fast'                                                                *     -5.80 %       ±5.75%  ±7.58%  ±9.71%
buffers/buffer-read-with-byteLength.js byteLength=6 n=1000000 type='IntBE' buffer='fast'                                                                       -3.86 %       ±5.26%  ±6.93%  ±8.88%
buffers/buffer-read-with-byteLength.js byteLength=6 n=1000000 type='IntLE' buffer='fast'                                                                        0.02 %       ±5.46%  ±7.19%  ±9.21%
buffers/buffer-read-with-byteLength.js byteLength=6 n=1000000 type='UIntBE' buffer='fast'                                                                       0.26 %       ±6.01%  ±7.92% ±10.15%
buffers/buffer-read-with-byteLength.js byteLength=6 n=1000000 type='UIntLE' buffer='fast'                                                                      -3.59 %       ±6.01%  ±7.91% ±10.14%
buffers/buffer-read.js n=1000000 type='BigInt64BE' buffer='fast'                                                                                       ***     -4.58 %       ±2.57%  ±3.39%  ±4.34%
buffers/buffer-read.js n=1000000 type='BigInt64LE' buffer='fast'                                                                                         *     -2.98 %       ±2.32%  ±3.06%  ±3.92%
buffers/buffer-read.js n=1000000 type='BigUInt64BE' buffer='fast'                                                                                               0.11 %       ±7.83% ±10.31% ±13.21%
buffers/buffer-read.js n=1000000 type='BigUInt64LE' buffer='fast'                                                                                               1.43 %       ±7.20%  ±9.48% ±12.14%
buffers/buffer-read.js n=1000000 type='Int16BE' buffer='fast'                                                                                          ***    -23.45 %       ±7.71% ±10.15% ±13.01%
buffers/buffer-read.js n=1000000 type='Int16LE' buffer='fast'                                                                                          ***    -18.98 %       ±8.08% ±10.65% ±13.64%
buffers/buffer-read.js n=1000000 type='Int32BE' buffer='fast'                                                                                                  -2.46 %       ±8.75% ±11.52% ±14.76%
buffers/buffer-read.js n=1000000 type='Int32LE' buffer='fast'                                                                                            *    -10.89 %       ±8.27% ±10.89% ±13.96%
buffers/buffer-read.js n=1000000 type='Int8' buffer='fast'                                                                                             ***    -30.25 %       ±7.24%  ±9.54% ±12.23%
buffers/buffer-read.js n=1000000 type='UInt16BE' buffer='fast'                                                                                         ***    -30.15 %       ±6.73%  ±8.87% ±11.36%
buffers/buffer-read.js n=1000000 type='UInt16LE' buffer='fast'                                                                                         ***    -23.04 %       ±7.65% ±10.07% ±12.90%
buffers/buffer-read.js n=1000000 type='UInt32BE' buffer='fast'                                                                                          **    -10.96 %       ±8.01% ±10.55% ±13.52%
buffers/buffer-read.js n=1000000 type='UInt32LE' buffer='fast'                                                                                           *     -9.17 %       ±7.91% ±10.41% ±13.34%
buffers/buffer-read.js n=1000000 type='UInt8' buffer='fast'                                                                                            ***    -23.47 %       ±7.11%  ±9.36% ±11.99%
buffers/buffer-slice.js n=1000000 type='fast'                                                                                                           **     -2.12 %       ±1.47%  ±1.94%  ±2.48%
buffers/buffer-slice.js n=1000000 type='slow'                                                                                                           **     -2.59 %       ±1.63%  ±2.15%  ±2.75%
buffers/buffer-slice.js n=1000000 type='subarray'                                                                                                      ***     -4.04 %       ±1.21%  ±1.59%  ±2.04%
buffers/buffer-swap.js n=1000000 len=1024 method='swap16' aligned='false'                                                                              ***     -8.63 %       ±0.64%  ±0.84%  ±1.07%
buffers/buffer-swap.js n=1000000 len=1024 method='swap16' aligned='true'                                                                               ***     -8.85 %       ±0.72%  ±0.95%  ±1.22%
buffers/buffer-swap.js n=1000000 len=1024 method='swap32' aligned='false'                                                                              ***     -2.02 %       ±0.18%  ±0.23%  ±0.30%
buffers/buffer-swap.js n=1000000 len=1024 method='swap32' aligned='true'                                                                               ***     -1.78 %       ±0.18%  ±0.23%  ±0.30%
buffers/buffer-swap.js n=1000000 len=1024 method='swap64' aligned='false'                                                                              ***     -2.41 %       ±0.21%  ±0.28%  ±0.36%
buffers/buffer-swap.js n=1000000 len=1024 method='swap64' aligned='true'                                                                               ***     -1.43 %       ±0.21%  ±0.28%  ±0.36%
buffers/buffer-swap.js n=1000000 len=2056 method='swap16' aligned='false'                                                                              ***     -2.89 %       ±0.37%  ±0.49%  ±0.63%
buffers/buffer-swap.js n=1000000 len=2056 method='swap16' aligned='true'                                                                               ***     -2.95 %       ±0.36%  ±0.47%  ±0.61%
buffers/buffer-swap.js n=1000000 len=2056 method='swap32' aligned='false'                                                                              ***     -0.28 %       ±0.10%  ±0.13%  ±0.17%
buffers/buffer-swap.js n=1000000 len=2056 method='swap32' aligned='true'                                                                               ***      0.16 %       ±0.09%  ±0.12%  ±0.15%
buffers/buffer-swap.js n=1000000 len=2056 method='swap64' aligned='false'                                                                              ***     -1.67 %       ±0.14%  ±0.18%  ±0.23%
buffers/buffer-swap.js n=1000000 len=2056 method='swap64' aligned='true'                                                                               ***     -0.95 %       ±0.12%  ±0.16%  ±0.21%
buffers/buffer-swap.js n=1000000 len=256 method='swap16' aligned='false'                                                                               ***     -4.70 %       ±0.79%  ±1.04%  ±1.33%
buffers/buffer-swap.js n=1000000 len=256 method='swap16' aligned='true'                                                                                ***     -4.08 %       ±0.79%  ±1.04%  ±1.33%
buffers/buffer-swap.js n=1000000 len=256 method='swap32' aligned='false'                                                                               ***     -4.14 %       ±0.42%  ±0.55%  ±0.70%
buffers/buffer-swap.js n=1000000 len=256 method='swap32' aligned='true'                                                                                ***     -4.11 %       ±0.37%  ±0.49%  ±0.62%
buffers/buffer-swap.js n=1000000 len=256 method='swap64' aligned='false'                                                                               ***     -3.70 %       ±0.62%  ±0.81%  ±1.04%
buffers/buffer-swap.js n=1000000 len=256 method='swap64' aligned='true'                                                                                ***     -3.13 %       ±0.53%  ±0.69%  ±0.89%
buffers/buffer-swap.js n=1000000 len=64 method='swap16' aligned='false'                                                                                         0.20 %       ±0.37%  ±0.49%  ±0.63%
buffers/buffer-swap.js n=1000000 len=64 method='swap16' aligned='true'                                                                                          0.45 %       ±0.57%  ±0.75%  ±0.97%
buffers/buffer-swap.js n=1000000 len=64 method='swap32' aligned='false'                                                                                         0.09 %       ±0.23%  ±0.30%  ±0.39%
buffers/buffer-swap.js n=1000000 len=64 method='swap32' aligned='true'                                                                                          0.03 %       ±0.29%  ±0.39%  ±0.49%
buffers/buffer-swap.js n=1000000 len=64 method='swap64' aligned='false'                                                                                        -0.04 %       ±0.59%  ±0.78%  ±0.99%
buffers/buffer-swap.js n=1000000 len=64 method='swap64' aligned='true'                                                                                         -0.07 %       ±0.59%  ±0.78%  ±1.00%
buffers/buffer-swap.js n=1000000 len=768 method='swap16' aligned='false'                                                                               ***     -3.10 %       ±0.31%  ±0.40%  ±0.51%
buffers/buffer-swap.js n=1000000 len=768 method='swap16' aligned='true'                                                                                ***     -3.04 %       ±0.32%  ±0.42%  ±0.53%
buffers/buffer-swap.js n=1000000 len=768 method='swap32' aligned='false'                                                                               ***     -2.51 %       ±0.25%  ±0.33%  ±0.42%
buffers/buffer-swap.js n=1000000 len=768 method='swap32' aligned='true'                                                                                ***     -2.05 %       ±0.24%  ±0.32%  ±0.41%
buffers/buffer-swap.js n=1000000 len=768 method='swap64' aligned='false'                                                                               ***     -3.03 %       ±0.33%  ±0.43%  ±0.55%
buffers/buffer-swap.js n=1000000 len=768 method='swap64' aligned='true'                                                                                ***     -2.17 %       ±0.28%  ±0.36%  ±0.47%
buffers/buffer-swap.js n=1000000 len=8192 method='swap16' aligned='false'                                                                              ***     -0.59 %       ±0.10%  ±0.14%  ±0.17%
buffers/buffer-swap.js n=1000000 len=8192 method='swap16' aligned='true'                                                                               ***     -0.52 %       ±0.10%  ±0.13%  ±0.16%
buffers/buffer-swap.js n=1000000 len=8192 method='swap32' aligned='false'                                                                              ***     -0.22 %       ±0.02%  ±0.03%  ±0.04%
buffers/buffer-swap.js n=1000000 len=8192 method='swap32' aligned='true'                                                                               ***     -0.10 %       ±0.02%  ±0.03%  ±0.04%
buffers/buffer-swap.js n=1000000 len=8192 method='swap64' aligned='false'                                                                              ***     -0.45 %       ±0.05%  ±0.07%  ±0.09%
buffers/buffer-swap.js n=1000000 len=8192 method='swap64' aligned='true'                                                                               ***     -0.32 %       ±0.04%  ±0.05%  ±0.07%
buffers/buffer-tojson.js len=0 n=10000                                                                                                                         -3.06 %       ±9.74% ±12.82% ±16.43%
buffers/buffer-tojson.js len=256 n=10000                                                                                                               ***     -6.68 %       ±2.86%  ±3.77%  ±4.83%
buffers/buffer-tojson.js len=4096 n=10000                                                                                                              ***     -3.43 %       ±0.86%  ±1.13%  ±1.45%
buffers/buffer-tostring.js n=1000000 len=1 args=0 encoding=''                                                                                                   0.71 %       ±1.15%  ±1.51%  ±1.94%
buffers/buffer-tostring.js n=1000000 len=1 args=1 encoding='ascii'                                                                                             -0.31 %       ±1.35%  ±1.77%  ±2.27%
buffers/buffer-tostring.js n=1000000 len=1 args=1 encoding='hex'                                                                                       ***      8.00 %       ±1.10%  ±1.45%  ±1.86%
buffers/buffer-tostring.js n=1000000 len=1 args=1 encoding='latin1'                                                                                    ***      6.58 %       ±1.76%  ±2.31%  ±2.97%
buffers/buffer-tostring.js n=1000000 len=1 args=1 encoding='UCS-2'                                                                                              0.68 %       ±0.82%  ±1.09%  ±1.39%
buffers/buffer-tostring.js n=1000000 len=1 args=1 encoding='utf8'                                                                                      ***      2.76 %       ±1.22%  ±1.61%  ±2.06%
buffers/buffer-tostring.js n=1000000 len=1 args=3 encoding='ascii'                                                                                     ***     -2.62 %       ±1.34%  ±1.76%  ±2.26%
buffers/buffer-tostring.js n=1000000 len=1 args=3 encoding='hex'                                                                                       ***      4.47 %       ±1.10%  ±1.45%  ±1.85%
buffers/buffer-tostring.js n=1000000 len=1 args=3 encoding='latin1'                                                                                    ***      8.43 %       ±1.51%  ±1.99%  ±2.55%
buffers/buffer-tostring.js n=1000000 len=1 args=3 encoding='UCS-2'                                                                                     ***      3.74 %       ±0.92%  ±1.21%  ±1.55%
buffers/buffer-tostring.js n=1000000 len=1 args=3 encoding='utf8'                                                                                              -1.02 %       ±1.27%  ±1.68%  ±2.15%
buffers/buffer-tostring.js n=1000000 len=1024 args=0 encoding=''                                                                                       ***     -4.19 %       ±0.37%  ±0.48%  ±0.62%
buffers/buffer-tostring.js n=1000000 len=1024 args=1 encoding='ascii'                                                                                  ***     -6.06 %       ±0.45%  ±0.59%  ±0.76%
buffers/buffer-tostring.js n=1000000 len=1024 args=1 encoding='hex'                                                                                    ***     -2.12 %       ±0.16%  ±0.21%  ±0.27%
buffers/buffer-tostring.js n=1000000 len=1024 args=1 encoding='latin1'                                                                                 ***     -5.43 %       ±0.53%  ±0.69%  ±0.89%
buffers/buffer-tostring.js n=1000000 len=1024 args=1 encoding='UCS-2'                                                                                  ***     -3.45 %       ±0.41%  ±0.54%  ±0.69%
buffers/buffer-tostring.js n=1000000 len=1024 args=1 encoding='utf8'                                                                                   ***     -4.26 %       ±0.36%  ±0.47%  ±0.60%
buffers/buffer-tostring.js n=1000000 len=1024 args=3 encoding='ascii'                                                                                  ***     -5.33 %       ±0.49%  ±0.65%  ±0.83%
buffers/buffer-tostring.js n=1000000 len=1024 args=3 encoding='hex'                                                                                    ***     -1.29 %       ±0.42%  ±0.56%  ±0.71%
buffers/buffer-tostring.js n=1000000 len=1024 args=3 encoding='latin1'                                                                                 ***     -5.42 %       ±0.56%  ±0.73%  ±0.94%
buffers/buffer-tostring.js n=1000000 len=1024 args=3 encoding='UCS-2'                                                                                  ***     -2.11 %       ±0.44%  ±0.58%  ±0.74%
buffers/buffer-tostring.js n=1000000 len=1024 args=3 encoding='utf8'                                                                                   ***     -4.34 %       ±0.40%  ±0.53%  ±0.68%
buffers/buffer-tostring.js n=1000000 len=64 args=0 encoding=''                                                                                         ***     -2.16 %       ±0.85%  ±1.12%  ±1.43%
buffers/buffer-tostring.js n=1000000 len=64 args=1 encoding='ascii'                                                                                    ***     -1.60 %       ±0.83%  ±1.09%  ±1.40%
buffers/buffer-tostring.js n=1000000 len=64 args=1 encoding='hex'                                                                                      ***      8.25 %       ±0.59%  ±0.78%  ±1.00%
buffers/buffer-tostring.js n=1000000 len=64 args=1 encoding='latin1'                                                                                   ***      5.97 %       ±1.15%  ±1.52%  ±1.95%
buffers/buffer-tostring.js n=1000000 len=64 args=1 encoding='UCS-2'                                                                                             0.14 %       ±0.74%  ±0.98%  ±1.25%
buffers/buffer-tostring.js n=1000000 len=64 args=1 encoding='utf8'                                                                                     ***      2.07 %       ±0.88%  ±1.16%  ±1.48%
buffers/buffer-tostring.js n=1000000 len=64 args=3 encoding='ascii'                                                                                    ***     -4.91 %       ±0.84%  ±1.11%  ±1.42%
buffers/buffer-tostring.js n=1000000 len=64 args=3 encoding='hex'                                                                                      ***      8.31 %       ±0.59%  ±0.78%  ±0.99%
buffers/buffer-tostring.js n=1000000 len=64 args=3 encoding='latin1'                                                                                   ***      6.58 %       ±0.98%  ±1.29%  ±1.65%
buffers/buffer-tostring.js n=1000000 len=64 args=3 encoding='UCS-2'                                                                                             0.67 %       ±0.67%  ±0.89%  ±1.14%
buffers/buffer-tostring.js n=1000000 len=64 args=3 encoding='utf8'                                                                                     ***      2.20 %       ±0.76%  ±1.01%  ±1.29%
buffers/buffer-transcode.js n=100000 length=1 toEncoding='ascii' fromEncoding='ascii'                                                                  ***     -1.20 %       ±0.64%  ±0.85%  ±1.08%
buffers/buffer-transcode.js n=100000 length=1 toEncoding='ascii' fromEncoding='latin1'                                                                 ***     -1.76 %       ±0.66%  ±0.87%  ±1.12%
buffers/buffer-transcode.js n=100000 length=1 toEncoding='ascii' fromEncoding='ucs2'                                                                           -0.75 %       ±0.93%  ±1.23%  ±1.57%
buffers/buffer-transcode.js n=100000 length=1 toEncoding='ascii' fromEncoding='utf8'                                                                   ***     -1.55 %       ±0.78%  ±1.03%  ±1.32%
buffers/buffer-transcode.js n=100000 length=1 toEncoding='latin1' fromEncoding='ascii'                                                                 ***     -2.00 %       ±0.63%  ±0.83%  ±1.07%
buffers/buffer-transcode.js n=100000 length=1 toEncoding='latin1' fromEncoding='latin1'                                                                ***     -2.79 %       ±0.46%  ±0.61%  ±0.78%
buffers/buffer-transcode.js n=100000 length=1 toEncoding='latin1' fromEncoding='ucs2'                                                                  ***     -1.50 %       ±0.87%  ±1.15%  ±1.47%
buffers/buffer-transcode.js n=100000 length=1 toEncoding='latin1' fromEncoding='utf8'                                                                  ***     -1.07 %       ±0.63%  ±0.83%  ±1.06%
buffers/buffer-transcode.js n=100000 length=1 toEncoding='ucs2' fromEncoding='ascii'                                                                            0.37 %       ±0.75%  ±0.99%  ±1.26%
buffers/buffer-transcode.js n=100000 length=1 toEncoding='ucs2' fromEncoding='latin1'                                                                          -0.19 %       ±0.76%  ±1.00%  ±1.28%
buffers/buffer-transcode.js n=100000 length=1 toEncoding='ucs2' fromEncoding='ucs2'                                                                    ***     -1.51 %       ±0.73%  ±0.96%  ±1.22%
buffers/buffer-transcode.js n=100000 length=1 toEncoding='ucs2' fromEncoding='utf8'                                                                            -0.18 %       ±0.70%  ±0.92%  ±1.18%
buffers/buffer-transcode.js n=100000 length=1 toEncoding='utf8' fromEncoding='ascii'                                                                    **     -0.86 %       ±0.62%  ±0.82%  ±1.04%
buffers/buffer-transcode.js n=100000 length=1 toEncoding='utf8' fromEncoding='latin1'                                                                  ***     -2.16 %       ±0.51%  ±0.67%  ±0.86%
buffers/buffer-transcode.js n=100000 length=1 toEncoding='utf8' fromEncoding='utf8'                                                                             0.02 %       ±0.54%  ±0.71%  ±0.90%
buffers/buffer-transcode.js n=100000 length=10 toEncoding='ascii' fromEncoding='ascii'                                                                 ***     -2.62 %       ±0.65%  ±0.86%  ±1.10%
buffers/buffer-transcode.js n=100000 length=10 toEncoding='ascii' fromEncoding='latin1'                                                                ***     -2.00 %       ±0.68%  ±0.89%  ±1.14%
buffers/buffer-transcode.js n=100000 length=10 toEncoding='ascii' fromEncoding='ucs2'                                                                    *     -0.88 %       ±0.73%  ±0.96%  ±1.22%
buffers/buffer-transcode.js n=100000 length=10 toEncoding='ascii' fromEncoding='utf8'                                                                   **     -1.09 %       ±0.79%  ±1.04%  ±1.33%
buffers/buffer-transcode.js n=100000 length=10 toEncoding='latin1' fromEncoding='ascii'                                                                ***     -2.14 %       ±0.65%  ±0.86%  ±1.10%
buffers/buffer-transcode.js n=100000 length=10 toEncoding='latin1' fromEncoding='latin1'                                                               ***     -2.59 %       ±0.53%  ±0.70%  ±0.89%
buffers/buffer-transcode.js n=100000 length=10 toEncoding='latin1' fromEncoding='ucs2'                                                                 ***     -1.95 %       ±0.70%  ±0.92%  ±1.18%
buffers/buffer-transcode.js n=100000 length=10 toEncoding='latin1' fromEncoding='utf8'                                                                 ***     -1.12 %       ±0.62%  ±0.82%  ±1.05%
buffers/buffer-transcode.js n=100000 length=10 toEncoding='ucs2' fromEncoding='ascii'                                                                           0.34 %       ±0.74%  ±0.98%  ±1.25%
buffers/buffer-transcode.js n=100000 length=10 toEncoding='ucs2' fromEncoding='latin1'                                                                  **     -1.31 %       ±0.78%  ±1.03%  ±1.32%
buffers/buffer-transcode.js n=100000 length=10 toEncoding='ucs2' fromEncoding='ucs2'                                                                   ***     -1.43 %       ±0.69%  ±0.91%  ±1.17%
buffers/buffer-transcode.js n=100000 length=10 toEncoding='ucs2' fromEncoding='utf8'                                                                    **     -1.23 %       ±0.75%  ±0.98%  ±1.26%
buffers/buffer-transcode.js n=100000 length=10 toEncoding='utf8' fromEncoding='ascii'                                                                    *     -0.86 %       ±0.75%  ±0.99%  ±1.27%
buffers/buffer-transcode.js n=100000 length=10 toEncoding='utf8' fromEncoding='latin1'                                                                 ***     -2.70 %       ±0.66%  ±0.88%  ±1.12%
buffers/buffer-transcode.js n=100000 length=10 toEncoding='utf8' fromEncoding='utf8'                                                                     *     -0.83 %       ±0.72%  ±0.95%  ±1.22%
buffers/buffer-transcode.js n=100000 length=1000 toEncoding='ascii' fromEncoding='ascii'                                                                 *     -0.49 %       ±0.42%  ±0.55%  ±0.70%
buffers/buffer-transcode.js n=100000 length=1000 toEncoding='ascii' fromEncoding='latin1'                                                              ***     -1.42 %       ±0.46%  ±0.61%  ±0.78%
buffers/buffer-transcode.js n=100000 length=1000 toEncoding='ascii' fromEncoding='ucs2'                                                                         0.08 %       ±0.12%  ±0.15%  ±0.20%
buffers/buffer-transcode.js n=100000 length=1000 toEncoding='ascii' fromEncoding='utf8'                                                                ***     -0.94 %       ±0.55%  ±0.72%  ±0.92%
buffers/buffer-transcode.js n=100000 length=1000 toEncoding='latin1' fromEncoding='ascii'                                                               **     -0.54 %       ±0.40%  ±0.52%  ±0.67%
buffers/buffer-transcode.js n=100000 length=1000 toEncoding='latin1' fromEncoding='latin1'                                                             ***     -1.33 %       ±0.41%  ±0.54%  ±0.69%
buffers/buffer-transcode.js n=100000 length=1000 toEncoding='latin1' fromEncoding='ucs2'                                                               ***      0.32 %       ±0.10%  ±0.13%  ±0.16%
buffers/buffer-transcode.js n=100000 length=1000 toEncoding='latin1' fromEncoding='utf8'                                                                       -0.15 %       ±0.41%  ±0.54%  ±0.69%
buffers/buffer-transcode.js n=100000 length=1000 toEncoding='ucs2' fromEncoding='ascii'                                                                        -0.29 %       ±0.43%  ±0.57%  ±0.73%
buffers/buffer-transcode.js n=100000 length=1000 toEncoding='ucs2' fromEncoding='latin1'                                                                       -0.15 %       ±0.42%  ±0.56%  ±0.71%
buffers/buffer-transcode.js n=100000 length=1000 toEncoding='ucs2' fromEncoding='ucs2'                                                                 ***     -1.28 %       ±0.36%  ±0.48%  ±0.61%
buffers/buffer-transcode.js n=100000 length=1000 toEncoding='ucs2' fromEncoding='utf8'                                                                         -0.35 %       ±0.43%  ±0.56%  ±0.72%
buffers/buffer-transcode.js n=100000 length=1000 toEncoding='utf8' fromEncoding='ascii'                                                                        -0.05 %       ±0.36%  ±0.47%  ±0.60%
buffers/buffer-transcode.js n=100000 length=1000 toEncoding='utf8' fromEncoding='latin1'                                                                        0.00 %       ±0.34%  ±0.45%  ±0.58%
buffers/buffer-transcode.js n=100000 length=1000 toEncoding='utf8' fromEncoding='utf8'                                                                          0.25 %       ±0.35%  ±0.46%  ±0.59%
buffers/buffer-write-string-short.js n=1000000 len=1 encoding='ascii'                                                                                  ***     -4.28 %       ±2.14%  ±2.82%  ±3.61%
buffers/buffer-write-string-short.js n=1000000 len=1 encoding='latin1'                                                                                 ***     -3.81 %       ±1.90%  ±2.51%  ±3.21%
buffers/buffer-write-string-short.js n=1000000 len=1 encoding='utf8'                                                                                     *     -2.04 %       ±1.90%  ±2.50%  ±3.20%
buffers/buffer-write-string-short.js n=1000000 len=16 encoding='ascii'                                                                                 ***     -6.92 %       ±2.08%  ±2.74%  ±3.51%
buffers/buffer-write-string-short.js n=1000000 len=16 encoding='latin1'                                                                                ***     -5.24 %       ±1.93%  ±2.54%  ±3.26%
buffers/buffer-write-string-short.js n=1000000 len=16 encoding='utf8'                                                                                   **     -3.32 %       ±2.01%  ±2.65%  ±3.39%
buffers/buffer-write-string-short.js n=1000000 len=32 encoding='ascii'                                                                                 ***     -6.74 %       ±2.20%  ±2.89%  ±3.70%
buffers/buffer-write-string-short.js n=1000000 len=32 encoding='latin1'                                                                                ***     -5.84 %       ±1.97%  ±2.59%  ±3.32%
buffers/buffer-write-string-short.js n=1000000 len=32 encoding='utf8'                                                                                   **     -2.64 %       ±1.94%  ±2.55%  ±3.27%
buffers/buffer-write-string-short.js n=1000000 len=8 encoding='ascii'                                                                                  ***     -5.09 %       ±2.21%  ±2.91%  ±3.73%
buffers/buffer-write-string-short.js n=1000000 len=8 encoding='latin1'                                                                                 ***     -5.35 %       ±1.76%  ±2.31%  ±2.97%
buffers/buffer-write-string-short.js n=1000000 len=8 encoding='utf8'                                                                                   ***     -3.51 %       ±1.59%  ±2.09%  ±2.68%
buffers/buffer-write-string.js n=1000000 len=2048 args='' encoding=''                                                                                  ***      2.01 %       ±0.22%  ±0.30%  ±0.38%
buffers/buffer-write-string.js n=1000000 len=2048 args='' encoding='ascii'                                                                             ***    -11.61 %       ±0.47%  ±0.62%  ±0.80%
buffers/buffer-write-string.js n=1000000 len=2048 args='' encoding='hex'                                                                               ***     -1.34 %       ±0.08%  ±0.10%  ±0.13%
buffers/buffer-write-string.js n=1000000 len=2048 args='' encoding='latin1'                                                                            ***      4.08 %       ±0.72%  ±0.95%  ±1.22%
buffers/buffer-write-string.js n=1000000 len=2048 args='' encoding='utf16le'                                                                           ***      3.44 %       ±0.61%  ±0.81%  ±1.03%
buffers/buffer-write-string.js n=1000000 len=2048 args='' encoding='utf8'                                                                              ***      3.12 %       ±0.20%  ±0.26%  ±0.34%
buffers/buffer-write-string.js n=1000000 len=2048 args='offset' encoding=''                                                                             **     -0.92 %       ±0.69%  ±0.91%  ±1.17%
buffers/buffer-write-string.js n=1000000 len=2048 args='offset' encoding='ascii'                                                                               -1.11 %       ±1.67%  ±2.20%  ±2.82%
buffers/buffer-write-string.js n=1000000 len=2048 args='offset' encoding='hex'                                                                         ***     -2.64 %       ±0.20%  ±0.27%  ±0.35%
buffers/buffer-write-string.js n=1000000 len=2048 args='offset' encoding='latin1'                                                                      ***     -4.95 %       ±1.60%  ±2.11%  ±2.71%
buffers/buffer-write-string.js n=1000000 len=2048 args='offset' encoding='utf16le'                                                                     ***      1.55 %       ±0.86%  ±1.13%  ±1.45%
buffers/buffer-write-string.js n=1000000 len=2048 args='offset' encoding='utf8'                                                                         **     -1.06 %       ±0.70%  ±0.93%  ±1.19%
buffers/buffer-write-string.js n=1000000 len=2048 args='offset+length' encoding=''                                                                       *     -0.58 %       ±0.50%  ±0.65%  ±0.84%
buffers/buffer-write-string.js n=1000000 len=2048 args='offset+length' encoding='ascii'                                                                ***     -8.70 %       ±1.22%  ±1.60%  ±2.05%
buffers/buffer-write-string.js n=1000000 len=2048 args='offset+length' encoding='hex'                                                                  ***     -0.91 %       ±0.12%  ±0.15%  ±0.19%
buffers/buffer-write-string.js n=1000000 len=2048 args='offset+length' encoding='latin1'                                                               ***      5.77 %       ±1.25%  ±1.64%  ±2.10%
buffers/buffer-write-string.js n=1000000 len=2048 args='offset+length' encoding='utf16le'                                                              ***      4.17 %       ±0.97%  ±1.28%  ±1.64%
buffers/buffer-write-string.js n=1000000 len=2048 args='offset+length' encoding='utf8'                                                                 ***     -1.21 %       ±0.54%  ±0.71%  ±0.91%
buffers/buffer-write.js n=1000000 type='BigInt64BE' buffer='fast'                                                                                      ***     -2.31 %       ±0.77%  ±1.02%  ±1.30%
buffers/buffer-write.js n=1000000 type='BigInt64LE' buffer='fast'                                                                                      ***     -1.93 %       ±0.71%  ±0.94%  ±1.20%
buffers/buffer-write.js n=1000000 type='BigUInt64BE' buffer='fast'                                                                                     ***     -2.55 %       ±0.73%  ±0.95%  ±1.22%
buffers/buffer-write.js n=1000000 type='BigUInt64LE' buffer='fast'                                                                                      **     -1.01 %       ±0.64%  ±0.84%  ±1.08%
buffers/buffer-write.js n=1000000 type='DoubleBE' buffer='fast'                                                                                                -5.04 %       ±6.10%  ±8.03% ±10.29%
buffers/buffer-write.js n=1000000 type='DoubleLE' buffer='fast'                                                                                                -3.86 %       ±6.08%  ±8.01% ±10.26%
buffers/buffer-write.js n=1000000 type='FloatBE' buffer='fast'                                                                                                 -5.81 %       ±6.76%  ±8.91% ±11.41%
buffers/buffer-write.js n=1000000 type='FloatLE' buffer='fast'                                                                                           *     -8.23 %       ±6.52%  ±8.59% ±11.01%
buffers/buffer-write.js n=1000000 type='Int16BE' buffer='fast'                                                                                                 -0.64 %       ±6.04%  ±7.96% ±10.19%
buffers/buffer-write.js n=1000000 type='Int16LE' buffer='fast'                                                                                          **     -8.35 %       ±5.85%  ±7.70%  ±9.87%
buffers/buffer-write.js n=1000000 type='Int32BE' buffer='fast'                                                                                           *     -8.17 %       ±6.84%  ±9.01% ±11.54%
buffers/buffer-write.js n=1000000 type='Int32LE' buffer='fast'                                                                                                 -6.70 %       ±6.86%  ±9.03% ±11.57%
buffers/buffer-write.js n=1000000 type='Int8' buffer='fast'                                                                                            ***    -16.44 %       ±5.42%  ±7.14%  ±9.15%
buffers/buffer-write.js n=1000000 type='IntBE' buffer='fast'                                                                                           ***    -10.08 %       ±4.06%  ±5.34%  ±6.84%
buffers/buffer-write.js n=1000000 type='IntLE' buffer='fast'                                                                                           ***     -7.77 %       ±4.33%  ±5.70%  ±7.30%
buffers/buffer-write.js n=1000000 type='UInt16BE' buffer='fast'                                                                                                 0.19 %       ±6.13%  ±8.07% ±10.34%
buffers/buffer-write.js n=1000000 type='UInt16LE' buffer='fast'                                                                                                -0.77 %       ±6.19%  ±8.15% ±10.44%
buffers/buffer-write.js n=1000000 type='UInt32BE' buffer='fast'                                                                                                -2.71 %       ±5.18%  ±6.82%  ±8.73%
buffers/buffer-write.js n=1000000 type='UInt32LE' buffer='fast'                                                                                                -3.89 %       ±5.03%  ±6.62%  ±8.48%
buffers/buffer-write.js n=1000000 type='UInt8' buffer='fast'                                                                                            **     -9.44 %       ±6.21%  ±8.18% ±10.48%
buffers/buffer-write.js n=1000000 type='UIntBE' buffer='fast'                                                                                          ***     -9.69 %       ±4.84%  ±6.38%  ±8.17%
buffers/buffer-write.js n=1000000 type='UIntLE' buffer='fast'                                                                                          ***    -17.00 %       ±5.07%  ±6.68%  ±8.56%
buffers/buffer-zero.js type='buffer' n=1000000                                                                                                         ***     -2.42 %       ±0.94%  ±1.24%  ±1.59%
buffers/buffer-zero.js type='string' n=1000000                                                                                                         ***     -3.78 %       ±1.47%  ±1.94%  ±2.49%
buffers/dataview-set.js n=1000000 type='Float32BE'                                                                                                      **      6.33 %       ±3.94%  ±5.19%  ±6.65%
buffers/dataview-set.js n=1000000 type='Float32LE'                                                                                                              1.34 %       ±3.72%  ±4.90%  ±6.28%
buffers/dataview-set.js n=1000000 type='Float64BE'                                                                                                             -1.35 %       ±3.59%  ±4.73%  ±6.06%
buffers/dataview-set.js n=1000000 type='Float64LE'                                                                                                              0.15 %       ±3.52%  ±4.64%  ±5.95%
buffers/dataview-set.js n=1000000 type='Int16BE'                                                                                                               -0.94 %       ±1.68%  ±2.21%  ±2.84%
buffers/dataview-set.js n=1000000 type='Int16LE'                                                                                                                0.48 %       ±1.67%  ±2.20%  ±2.82%
buffers/dataview-set.js n=1000000 type='Int32BE'                                                                                                                0.68 %       ±1.38%  ±1.81%  ±2.32%
buffers/dataview-set.js n=1000000 type='Int32LE'                                                                                                                0.04 %       ±1.47%  ±1.94%  ±2.49%
buffers/dataview-set.js n=1000000 type='Int8'                                                                                                                   0.78 %       ±0.84%  ±1.10%  ±1.41%
buffers/dataview-set.js n=1000000 type='Uint16BE'                                                                                                              -0.86 %       ±1.18%  ±1.55%  ±1.99%
buffers/dataview-set.js n=1000000 type='Uint16LE'                                                                                                               0.11 %       ±1.20%  ±1.58%  ±2.03%
buffers/dataview-set.js n=1000000 type='Uint32BE'                                                                                                              -0.25 %       ±1.07%  ±1.41%  ±1.81%
buffers/dataview-set.js n=1000000 type='Uint32LE'                                                                                                               0.09 %       ±1.09%  ±1.44%  ±1.84%
buffers/dataview-set.js n=1000000 type='Uint8'                                                                                                                 -0.04 %       ±0.90%  ±1.18%  ±1.52%

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

</summary>

@addaleax addaleax added author ready PRs that have at least one approval, no pending requests for changes, and a CI started. review wanted PRs that need reviews. labels Dec 9, 2025
@avivkeller avivkeller added the request-ci Add this label to start a Jenkins CI on a PR. label Dec 22, 2025
@github-actions github-actions bot removed the request-ci Add this label to start a Jenkins CI on a PR. label Dec 22, 2025
@nodejs-github-bot
Copy link
Collaborator

@nbbeeken
Copy link
Contributor Author

The jenkins UI just says:

nbbeeken is missing the Overall/Read permission

when I click on the links, not sure how to fix it, anyone have permissions that can take a peek for me?

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: nodejs#56577
@nbbeeken nbbeeken force-pushed the buffer-generic-methods branch from 17e01f2 to bb3173e Compare January 14, 2026 04:17
@addaleax addaleax added the request-ci Add this label to start a Jenkins CI on a PR. label Jan 20, 2026
@github-actions github-actions bot removed the request-ci Add this label to start a Jenkins CI on a PR. label Jan 20, 2026
@nodejs-github-bot
Copy link
Collaborator

@nodejs-github-bot
Copy link
Collaborator

@addaleax addaleax added commit-queue Add this label to land a pull request using GitHub Actions. commit-queue-squash Add this label to instruct the Commit Queue to squash all the PR commits into the first one. labels Jan 21, 2026
@nodejs-github-bot nodejs-github-bot removed the commit-queue Add this label to land a pull request using GitHub Actions. label Jan 21, 2026
@nodejs-github-bot nodejs-github-bot merged commit dc04bf6 into nodejs:main Jan 21, 2026
70 checks passed
@nodejs-github-bot
Copy link
Collaborator

Landed in dc04bf6

aduh95 pushed a commit that referenced this pull request Jan 22, 2026
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: #56577
PR-URL: #56578
Reviewed-By: Anna Henningsen <anna@addaleax.net>
islandryu pushed a commit to islandryu/node that referenced this pull request Jan 25, 2026
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: nodejs#56577
PR-URL: nodejs#56578
Reviewed-By: Anna Henningsen <anna@addaleax.net>
tmeijn pushed a commit to tmeijn/dotfiles that referenced this pull request Jan 27, 2026
This MR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [node](https://nodejs.org) ([source](https://github.com/nodejs/node)) | minor | `25.4.0` → `25.5.0` |

MR created with the help of [el-capitano/tools/renovate-bot](https://gitlab.com/el-capitano/tools/renovate-bot).

**Proposed changes to behavior should be submitted there as MRs.**

---

### Release Notes

<details>
<summary>nodejs/node (node)</summary>

### [`v25.5.0`](https://github.com/nodejs/node/releases/tag/v25.5.0): 2026-01-26, Version 25.5.0 (Current), @&#8203;aduh95

[Compare Source](nodejs/node@v25.4.0...v25.5.0)

##### Notable Changes

- \[[`99a4e51f93`](nodejs/node@99a4e51f93)] - **crypto**: update root certificates to NSS 3.119 (Node.js GitHub Bot) [#&#8203;61419](nodejs/node#61419)
- \[[`fbe4da5725`](nodejs/node@fbe4da5725)] - **(SEMVER-MINOR)** **deps**: add LIEF as a dependency (Joyee Cheung) [#&#8203;61167](nodejs/node#61167)
- \[[`0feab0f083`](nodejs/node@0feab0f083)] - **(SEMVER-MINOR)** **deps**: add tools and scripts to pull LIEF as a dependency (Joyee Cheung) [#&#8203;61167](nodejs/node#61167)
- \[[`e91b296001`](nodejs/node@e91b296001)] - **(SEMVER-MINOR)** **fs**: add ignore option to fs.watch (Matteo Collina) [#&#8203;61433](nodejs/node#61433)
- \[[`b351910af1`](nodejs/node@b351910af1)] - **(SEMVER-MINOR)** **sea**: add `--build-sea` to generate SEA directly with Node.js binary (Joyee Cheung) [#&#8203;61167](nodejs/node#61167)
- \[[`957292e233`](nodejs/node@957292e233)] - **(SEMVER-MINOR)** **sea**: split sea binary manipulation code (Joyee Cheung) [#&#8203;61167](nodejs/node#61167)
- \[[`f289817ff8`](nodejs/node@f289817ff8)] - **(SEMVER-MINOR)** **sqlite**: enable defensive mode by default (Bart Louwers) [#&#8203;61266](nodejs/node#61266)
- \[[`069f3603e2`](nodejs/node@069f3603e2)] - **(SEMVER-MINOR)** **sqlite**: add sqlite prepare options args (Guilherme Araújo) [#&#8203;61311](nodejs/node#61311)
- \[[`5a984b9a09`](nodejs/node@5a984b9a09)] - **src**: use node- prefix on thread names (Stewart X Addison) [#&#8203;61307](nodejs/node#61307)
- \[[`75c06bc2a8`](nodejs/node@75c06bc2a8)] - **(SEMVER-MINOR)** **test**: migrate to `--build-sea` in existing SEA tests (Joyee Cheung) [#&#8203;61167](nodejs/node#61167)
- \[[`cabd58f1cb`](nodejs/node@cabd58f1cb)] - **(SEMVER-MINOR)** **test**: use fixture directories for sea tests (Joyee Cheung) [#&#8203;61167](nodejs/node#61167)
- \[[`ff1fcabfc9`](nodejs/node@ff1fcabfc9)] - **(SEMVER-MINOR)** **test\_runner**: support expecting a test-case to fail (Jacob Smith) [#&#8203;60669](nodejs/node#60669)

##### Commits

- \[[`778a56f3c9`](nodejs/node@778a56f3c9)] - **assert,util**: fix deep comparison for sets and maps with mixed types (Ruben Bridgewater) [#&#8203;61388](nodejs/node#61388)
- \[[`32cd18e37f`](nodejs/node@32cd18e37f)] - **async\_hooks**: enabledHooksExist shall return if hooks are enabled (Gerhard Stöbich) [#&#8203;61054](nodejs/node#61054)
- \[[`482b2568bc`](nodejs/node@482b2568bc)] - **benchmark**: add SQLite benchmarks (Guilherme Araújo) [#&#8203;61401](nodejs/node#61401)
- \[[`e9a34263bb`](nodejs/node@e9a34263bb)] - **buffer**: make methods work on Uint8Array instances (Neal Beeken) [#&#8203;56578](nodejs/node#56578)
- \[[`8255cdefcf`](nodejs/node@8255cdefcf)] - **build**: add `--shared-nbytes` configure flag (Antoine du Hamel) [#&#8203;61341](nodejs/node#61341)
- \[[`8dd379d110`](nodejs/node@8dd379d110)] - **build**: update android-patches/trap-handler.h.patch (Mo Luo) [#&#8203;60369](nodejs/node#60369)
- \[[`1b4b5eb0e4`](nodejs/node@1b4b5eb0e4)] - **build**: update devcontainer.json to use paired nix env (Joyee Cheung) [#&#8203;61414](nodejs/node#61414)
- \[[`86e2a763ad`](nodejs/node@86e2a763ad)] - **build**: infer cargo mode with gyp var build\_type directly (Chengzhong Wu) [#&#8203;61354](nodejs/node#61354)
- \[[`7e211e6942`](nodejs/node@7e211e6942)] - **build**: add embedtest into native suite (Joyee Cheung) [#&#8203;61357](nodejs/node#61357)
- \[[`637470e79f`](nodejs/node@637470e79f)] - **build**: fix misplaced comma in ldflags (hqzing) [#&#8203;61294](nodejs/node#61294)
- \[[`a1a0f77a45`](nodejs/node@a1a0f77a45)] - **build**: fix crate vendor file checksums on windows (Chengzhong Wu) [#&#8203;61329](nodejs/node#61329)
- \[[`d597b8e342`](nodejs/node@d597b8e342)] - **build,tools**: fix addon build deadlock on errors (Vladimir Morozov) [#&#8203;61321](nodejs/node#61321)
- \[[`b5cdc27ba4`](nodejs/node@b5cdc27ba4)] - **build,win**: improve logs when ClangCL is missing (Mike McCready) [#&#8203;61438](nodejs/node#61438)
- \[[`ef01f0c033`](nodejs/node@ef01f0c033)] - **build,win**: update WinGet configurations to Python 3.14 (Mike McCready) [#&#8203;61431](nodejs/node#61431)
- \[[`d8a1cdeefe`](nodejs/node@d8a1cdeefe)] - **child\_process**: treat ipc length header as unsigned uint32 (Ryuhei Shima) [#&#8203;61344](nodejs/node#61344)
- \[[`588b00fafa`](nodejs/node@588b00fafa)] - **cluster**: fix port reuse between cluster (Ryuhei Shima) [#&#8203;60141](nodejs/node#60141)
- \[[`99a4e51f93`](nodejs/node@99a4e51f93)] - **crypto**: update root certificates to NSS 3.119 (Node.js GitHub Bot) [#&#8203;61419](nodejs/node#61419)
- \[[`048f7a5c9c`](nodejs/node@048f7a5c9c)] - **deps**: upgrade npm to 11.8.0 (npm team) [#&#8203;61466](nodejs/node#61466)
- \[[`fbe4da5725`](nodejs/node@fbe4da5725)] - **(SEMVER-MINOR)** **deps**: add LIEF as a dependency (Joyee Cheung) [#&#8203;61167](nodejs/node#61167)
- \[[`0feab0f083`](nodejs/node@0feab0f083)] - **(SEMVER-MINOR)** **deps**: add tools and scripts to pull LIEF as a dependency (Joyee Cheung) [#&#8203;61167](nodejs/node#61167)
- \[[`4bb00d7e3c`](nodejs/node@4bb00d7e3c)] - **deps**: update googletest to [`8508785`](nodejs/node@8508785) (Node.js GitHub Bot) [#&#8203;61417](nodejs/node#61417)
- \[[`6a3c614f27`](nodejs/node@6a3c614f27)] - **deps**: update sqlite to 3.51.2 (Node.js GitHub Bot) [#&#8203;61339](nodejs/node#61339)
- \[[`13c0397d6d`](nodejs/node@13c0397d6d)] - **deps**: update icu to 78.2 (Node.js GitHub Bot) [#&#8203;60523](nodejs/node#60523)
- \[[`098ec6f196`](nodejs/node@098ec6f196)] - **deps**: update ada to v3.4.0 (Yagiz Nizipli) [#&#8203;61315](nodejs/node#61315)
- \[[`320b576125`](nodejs/node@320b576125)] - **deps**: update zlib to 1.3.1-e00f703 (Node.js GitHub Bot) [#&#8203;61135](nodejs/node#61135)
- \[[`98f5e7cf51`](nodejs/node@98f5e7cf51)] - **deps**: V8: cherry-pick [highway@`dcc0ca1`](https://github.com/highway/node/commit/dcc0ca1cd42) (Richard Lau) [#&#8203;61008](nodejs/node#61008)
- \[[`e326df79c9`](nodejs/node@e326df79c9)] - **deps**: V8: backport [`209d2db`](nodejs/node@209d2db9e24a) (Zhijin Zeng) [#&#8203;61322](nodejs/node#61322)
- \[[`ccfd9d9b30`](nodejs/node@ccfd9d9b30)] - **doc**: remove `v` prefix for version references (Mike McCready) [#&#8203;61488](nodejs/node#61488)
- \[[`b6cc5d77a1`](nodejs/node@b6cc5d77a1)] - **doc**: mention constructor comparison in assert.deepStrictEqual (Hamza Kargin) [#&#8203;60253](nodejs/node#60253)
- \[[`236d7ee635`](nodejs/node@236d7ee635)] - **doc**: add CVE delay mention (Rafael Gonzaga) [#&#8203;61465](nodejs/node#61465)
- \[[`0729fb6ee7`](nodejs/node@0729fb6ee7)] - **doc**: update previous version links in BUILDING (Mike McCready) [#&#8203;61457](nodejs/node#61457)
- \[[`0fb464252f`](nodejs/node@0fb464252f)] - **doc**: include OpenJSF handle for security stewards (Rafael Gonzaga) [#&#8203;61454](nodejs/node#61454)
- \[[`3331bdca7c`](nodejs/node@3331bdca7c)] - **doc**: clarify process.argv\[1] behavior for -e/--eval (Jeevankumar S) [#&#8203;61366](nodejs/node#61366)
- \[[`94b34c38e2`](nodejs/node@94b34c38e2)] - **doc**: remove Windows Dev Home instructions from BUILDING (Mike McCready) [#&#8203;61434](nodejs/node#61434)
- \[[`a17016ee81`](nodejs/node@a17016ee81)] - **doc**: clarify TypedArray properties on Buffer (Roman Reiss) [#&#8203;61355](nodejs/node#61355)
- \[[`214fac9d7e`](nodejs/node@214fac9d7e)] - **doc**: update Python 3.14 manual install instructions (Windows) (Mike McCready) [#&#8203;61428](nodejs/node#61428)
- \[[`6a32a685a6`](nodejs/node@6a32a685a6)] - **doc**: note resume build should not be done on node-test-commit (Stewart X Addison) [#&#8203;61373](nodejs/node#61373)
- \[[`2a8e8dfaf3`](nodejs/node@2a8e8dfaf3)] - **doc**: refine WebAssembly error documentation (sangwook) [#&#8203;61382](nodejs/node#61382)
- \[[`f3caf27f8b`](nodejs/node@f3caf27f8b)] - **doc**: add deprecation history for url.parse (Eng Zer Jun) [#&#8203;61389](nodejs/node#61389)
- \[[`5ab8057856`](nodejs/node@5ab8057856)] - **doc**: add marco and rafael in last sec release (Marco Ippolito) [#&#8203;61383](nodejs/node#61383)
- \[[`f83cb1e785`](nodejs/node@f83cb1e785)] - **doc**: packages: example of private import switch to internal (coderaiser) [#&#8203;61343](nodejs/node#61343)
- \[[`3d23bcd0e2`](nodejs/node@3d23bcd0e2)] - **doc**: add esm and cjs examples to node:v8 (Alfredo González) [#&#8203;61328](nodejs/node#61328)
- \[[`1d159550e0`](nodejs/node@1d159550e0)] - **doc**: added 'secure' event to tls.TLSSocket (ikeyan) [#&#8203;61066](nodejs/node#61066)
- \[[`90080d2892`](nodejs/node@90080d2892)] - **doc**: restore [@&#8203;watilde](https://github.com/watilde) to collaborators (Daijiro Wachi) [#&#8203;61350](nodejs/node#61350)
- \[[`a87f7a50f8`](nodejs/node@a87f7a50f8)] - **doc**: run license-builder (github-actions\[bot]) [#&#8203;61348](nodejs/node#61348)
- \[[`adf5c84701`](nodejs/node@adf5c84701)] - **doc**: clean up writing-and-running-benchmarks.md (Hardanish Singh) [#&#8203;61345](nodejs/node#61345)
- \[[`2be98add0c`](nodejs/node@2be98add0c)] - **doc**: document ALPNCallback option for TLSSocket constructor (ikeyan) [#&#8203;61331](nodejs/node#61331)
- \[[`2db4893c8d`](nodejs/node@2db4893c8d)] - **esm**: ensure watch mode restarts after syntax errors (Xavier Stouder) [#&#8203;61232](nodejs/node#61232)
- \[[`828feb2e6b`](nodejs/node@828feb2e6b)] - **events**: remove redundant todo (Gürgün Dayıoğlu) [#&#8203;60595](nodejs/node#60595)
- \[[`e91b296001`](nodejs/node@e91b296001)] - **(SEMVER-MINOR)** **fs**: add ignore option to fs.watch (Matteo Collina) [#&#8203;61433](nodejs/node#61433)
- \[[`606184fae5`](nodejs/node@606184fae5)] - **fs**: remove duplicate getValidatedPath calls (Mert Can Altin) [#&#8203;61359](nodejs/node#61359)
- \[[`434fcd7f8f`](nodejs/node@434fcd7f8f)] - **fs**: fix errorOnExist behavior for directory copy in fs.cp (Nicholas Paun) [#&#8203;60946](nodejs/node#60946)
- \[[`bacba16f5e`](nodejs/node@bacba16f5e)] - **fs**: fix ENOTDIR in globSync when file is treated as dir (sangwook) [#&#8203;61259](nodejs/node#61259)
- \[[`7697ce0310`](nodejs/node@7697ce0310)] - **fs**: remove duplicate fd validation in sync functions (Mert Can Altin) [#&#8203;61361](nodejs/node#61361)
- \[[`8abd54f597`](nodejs/node@8abd54f597)] - **gyp**: aix: change gcc version detection so CXX="ccache g++" works (Stewart X Addison) [#&#8203;61464](nodejs/node#61464)
- \[[`24033ee7ea`](nodejs/node@24033ee7ea)] - **http**: fix rawHeaders exceeding maxHeadersCount limit (Max Harari) [#&#8203;61285](nodejs/node#61285)
- \[[`cf56327939`](nodejs/node@cf56327939)] - **http2**: validate initialWindowSize per HTTP/2 spec (Matteo Collina) [#&#8203;61402](nodejs/node#61402)
- \[[`696935eeeb`](nodejs/node@696935eeeb)] - **inspector**: initial support storage inspection (Ryuhei Shima) [#&#8203;61139](nodejs/node#61139)
- \[[`3d5e718e38`](nodejs/node@3d5e718e38)] - **lib**: fix typo in `util.js` comment (Taejin Kim) [#&#8203;61365](nodejs/node#61365)
- \[[`f55a5fea00`](nodejs/node@f55a5fea00)] - **lib**: fix TypeScript support check in jitless mode (sangwook) [#&#8203;61382](nodejs/node#61382)
- \[[`b3fbc3c375`](nodejs/node@b3fbc3c375)] - **meta**: do not fast-track npm updates (Antoine du Hamel) [#&#8203;61475](nodejs/node#61475)
- \[[`2423ecdaef`](nodejs/node@2423ecdaef)] - **meta**: fix typos in issue template config (Daijiro Wachi) [#&#8203;61399](nodejs/node#61399)
- \[[`e2df85a33a`](nodejs/node@e2df85a33a)] - **meta**: label v8 module MRs (René) [#&#8203;61325](nodejs/node#61325)
- \[[`bc9e5f7d4d`](nodejs/node@bc9e5f7d4d)] - **node-api**: fix node\_api\_create\_object\_with\_properties name (Vladimir Morozov) [#&#8203;61319](nodejs/node#61319)
- \[[`4f30c21c59`](nodejs/node@4f30c21c59)] - **node-api**: use Node-API in comments (Vladimir Morozov) [#&#8203;61320](nodejs/node#61320)
- \[[`62d71eb28d`](nodejs/node@62d71eb28d)] - **quic**: copy options.certs buffer instead of detaching (Chengzhong Wu) [#&#8203;61403](nodejs/node#61403)
- \[[`4bbbe75ba1`](nodejs/node@4bbbe75ba1)] - **quic**: move quic behind compile time flag (Matteo Collina) [#&#8203;61444](nodejs/node#61444)
- \[[`b351910af1`](nodejs/node@b351910af1)] - **(SEMVER-MINOR)** **sea**: add --build-sea to generate SEA directly with Node.js binary (Joyee Cheung) [#&#8203;61167](nodejs/node#61167)
- \[[`957292e233`](nodejs/node@957292e233)] - **(SEMVER-MINOR)** **sea**: split sea binary manipulation code (Joyee Cheung) [#&#8203;61167](nodejs/node#61167)
- \[[`f289817ff8`](nodejs/node@f289817ff8)] - **(SEMVER-MINOR)** **sqlite**: enable defensive mode by default (Bart Louwers) [#&#8203;61266](nodejs/node#61266)
- \[[`6442229880`](nodejs/node@6442229880)] - **sqlite**: add some tests (Guilherme Araújo) [#&#8203;61410](nodejs/node#61410)
- \[[`069f3603e2`](nodejs/node@069f3603e2)] - **(SEMVER-MINOR)** **sqlite**: add sqlite prepare options args (Guilherme Araújo) [#&#8203;61311](nodejs/node#61311)
- \[[`df02d00d61`](nodejs/node@df02d00d61)] - **src**: improve StringBytes::Encode perf on UTF8 (Сковорода Никита Андреевич) [#&#8203;61131](nodejs/node#61131)
- \[[`e35814ba80`](nodejs/node@e35814ba80)] - **src**: add missing override specifier to Clean() (Tobias Nießen) [#&#8203;61429](nodejs/node#61429)
- \[[`803ff7d3de`](nodejs/node@803ff7d3de)] - **src**: cache context lookup in vectored io loops (Mert Can Altin) [#&#8203;61387](nodejs/node#61387)
- \[[`58abe99cbf`](nodejs/node@58abe99cbf)] - **src**: cache missing package.json files in the C++ package config cache (Michael Smith) [#&#8203;60425](nodejs/node#60425)
- \[[`2a542094e4`](nodejs/node@2a542094e4)] - **src**: use starts\_with instead of rfind/find (Tobias Nießen) [#&#8203;61426](nodejs/node#61426)
- \[[`77cacf6d9d`](nodejs/node@77cacf6d9d)] - **src**: use C++ nullptr in sqlite (Tobias Nießen) [#&#8203;61416](nodejs/node#61416)
- \[[`344cc629d4`](nodejs/node@344cc629d4)] - **src**: use C++ nullptr in webstorage (Tobias Nießen) [#&#8203;61407](nodejs/node#61407)
- \[[`9f25cad26c`](nodejs/node@9f25cad26c)] - **src**: fix pointer alignment (jhofstee) [#&#8203;61336](nodejs/node#61336)
- \[[`5a984b9a09`](nodejs/node@5a984b9a09)] - **src**: use node- prefix on thread names (Stewart X Addison) [#&#8203;61307](nodejs/node#61307)
- \[[`d4cf423a65`](nodejs/node@d4cf423a65)] - **stream**: export namespace object from internal end-of-stream module (René) [#&#8203;61455](nodejs/node#61455)
- \[[`7d8232e34c`](nodejs/node@7d8232e34c)] - **test**: add some validation for JSON doc output (Antoine du Hamel) [#&#8203;61413](nodejs/node#61413)
- \[[`75c06bc2a8`](nodejs/node@75c06bc2a8)] - **(SEMVER-MINOR)** **test**: migrate to --build-sea in existing SEA tests (Joyee Cheung) [#&#8203;61167](nodejs/node#61167)
- \[[`cabd58f1cb`](nodejs/node@cabd58f1cb)] - **(SEMVER-MINOR)** **test**: use fixture directories for sea tests (Joyee Cheung) [#&#8203;61167](nodejs/node#61167)
- \[[`bcffca8911`](nodejs/node@bcffca8911)] - **test**: aix: mark test\_threadsafe\_function/test flaky on AIX (Stewart X Addison) [#&#8203;61452](nodejs/node#61452)
- \[[`29399501c1`](nodejs/node@29399501c1)] - **test**: add implicit test for fs dispose handling with using (Ilyas Shabi) [#&#8203;61140](nodejs/node#61140)
- \[[`3bb481571a`](nodejs/node@3bb481571a)] - **test**: reveal wpt evaluation errors in status files (Chengzhong Wu) [#&#8203;61358](nodejs/node#61358)
- \[[`a132be7f71`](nodejs/node@a132be7f71)] - **test**: check new WebCryptoAPI enum values (Filip Skokan) [#&#8203;61406](nodejs/node#61406)
- \[[`72f1463735`](nodejs/node@72f1463735)] - **test**: split test-esm-loader-hooks (Joyee Cheung) [#&#8203;61374](nodejs/node#61374)
- \[[`39105e4c5f`](nodejs/node@39105e4c5f)] - **test**: aix: mark test-emit-on-destroyed as flaky (Stewart X Addison) [#&#8203;61381](nodejs/node#61381)
- \[[`3f17acfb1c`](nodejs/node@3f17acfb1c)] - **test**: add webidl web-platform tests (Yagiz Nizipli) [#&#8203;61316](nodejs/node#61316)
- \[[`89983cf747`](nodejs/node@89983cf747)] - **test**: update url web-platform tests (Yagiz Nizipli) [#&#8203;61315](nodejs/node#61315)
- \[[`73c0a242d7`](nodejs/node@73c0a242d7)] - **test**: forbid use of named imports for fixtures (Antoine du Hamel) [#&#8203;61228](nodejs/node#61228)
- \[[`a49d54308e`](nodejs/node@a49d54308e)] - **test**: enforce better never-settling-promise detection (Antoine du Hamel) [#&#8203;60976](nodejs/node#60976)
- \[[`335cb0b5cc`](nodejs/node@335cb0b5cc)] - **test**: ensure assertions are reached on all tests (Antoine du Hamel) [#&#8203;60845](nodejs/node#60845)
- \[[`5ee02c789a`](nodejs/node@5ee02c789a)] - **test**: ensure assertions are reached on more tests (Antoine du Hamel) [#&#8203;60763](nodejs/node#60763)
- \[[`141fb82ffb`](nodejs/node@141fb82ffb)] - **test**: ensure assertions are reached on more tests (Antoine du Hamel) [#&#8203;60760](nodejs/node#60760)
- \[[`edf90ce457`](nodejs/node@edf90ce457)] - **test**: use `RegExp.escape` to improve test reliability (Antoine du Hamel) [#&#8203;60803](nodejs/node#60803)
- \[[`f5f9b2dcf6`](nodejs/node@f5f9b2dcf6)] - **test**: ensure assertions are reached on more tests (Antoine du Hamel) [#&#8203;60728](nodejs/node#60728)
- \[[`ec1cbbe0b6`](nodejs/node@ec1cbbe0b6)] - **test\_runner**: fix memory leaks in runner (Abhishek Kv. Savani) [#&#8203;60860](nodejs/node#60860)
- \[[`399ac68427`](nodejs/node@399ac68427)] - **test\_runner**: fix coverage report when a directory is named file (Heath Dutton🕴️) [#&#8203;61169](nodejs/node#61169)
- \[[`6e1beda333`](nodejs/node@6e1beda333)] - **test\_runner**: print info when test restarts (Xavier Stouder) [#&#8203;61160](nodejs/node#61160)
- \[[`f5803ccb86`](nodejs/node@f5803ccb86)] - **test\_runner**: fix rerun ambiguous test failures (Moshe Atlow) [#&#8203;61392](nodejs/node#61392)
- \[[`a5a4c3eb44`](nodejs/node@a5a4c3eb44)] - **test\_runner**: nix dead reporter code (Vas Sudanagunta) [#&#8203;59700](nodejs/node#59700)
- \[[`ff1fcabfc9`](nodejs/node@ff1fcabfc9)] - **(SEMVER-MINOR)** **test\_runner**: support expecting a test-case to fail (Jacob Smith) [#&#8203;60669](nodejs/node#60669)
- \[[`ade4fc2338`](nodejs/node@ade4fc2338)] - **tools**: copyedit Nix files (Antoine du Hamel) [#&#8203;61447](nodejs/node#61447)
- \[[`7c2242beb9`](nodejs/node@7c2242beb9)] - **tools**: validate release commit diff as part of `lint-release-proposal` (Antoine du Hamel) [#&#8203;61440](nodejs/node#61440)
- \[[`ca4ebed258`](nodejs/node@ca4ebed258)] - **tools**: use ad-hoc flag to lint Nix files (Antoine du Hamel) [#&#8203;61405](nodejs/node#61405)
- \[[`05ce2c87f3`](nodejs/node@05ce2c87f3)] - **tools**: fix vcbuild lint-js-build (Vladimir Morozov) [#&#8203;61318](nodejs/node#61318)
- \[[`41adb54a37`](nodejs/node@41adb54a37)] - **tools**: enforce trailing commas in `test/es-module` (Antoine du Hamel) [#&#8203;60891](nodejs/node#60891)
- \[[`eebd732a52`](nodejs/node@eebd732a52)] - **tools**: enforce trailing commas in `test/sequential` (Antoine du Hamel) [#&#8203;60892](nodejs/node#60892)
- \[[`8b73739e03`](nodejs/node@8b73739e03)] - **typings**: add typing for string\_decoder (Taejin Kim) [#&#8203;61368](nodejs/node#61368)
- \[[`e88dd012ad`](nodejs/node@e88dd012ad)] - **v8**: changing total\_allocated\_bytes to avoid ABI changes (Caio Lima) [#&#8203;60800](nodejs/node#60800)
- \[[`c75ad3d87d`](nodejs/node@c75ad3d87d)] - **v8**: add GCProfiler support for erm (Ilyas Shabi) [#&#8203;61191](nodejs/node#61191)
- \[[`611c179663`](nodejs/node@611c179663)] - **zlib**: validate write\_result array length (Ryuhei Shima) [#&#8203;61342](nodejs/node#61342)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this MR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box

---

This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi45Mi4xMSIsInVwZGF0ZWRJblZlciI6IjQyLjkyLjExIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJSZW5vdmF0ZSBCb3QiLCJhdXRvbWF0aW9uOmJvdC1hdXRob3JlZCIsImRlcGVuZGVuY3ktdHlwZTo6bWlub3IiXX0=-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

author ready PRs that have at least one approval, no pending requests for changes, and a CI started. buffer Issues and PRs related to the buffer subsystem. commit-queue-squash Add this label to instruct the Commit Queue to squash all the PR commits into the first one. needs-benchmark-ci PR that need a benchmark CI run. needs-ci PRs that need a full CI run. review wanted PRs that need reviews.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Make Buffer.prototype methods callable with Uint8Array instances

5 participants