Skip to content

src: optimize utf-8 byte length calculation using simdutf#61601

Closed
mertcanaltin wants to merge 2 commits intonodejs:mainfrom
mertcanaltin:mert/stringView/buffer
Closed

src: optimize utf-8 byte length calculation using simdutf#61601
mertcanaltin wants to merge 2 commits intonodejs:mainfrom
mertcanaltin:mert/stringView/buffer

Conversation

@mertcanaltin
Copy link
Member

@mertcanaltin mertcanaltin commented Jan 31, 2026

I used stringView in simdutf for large strings, small strings continue as they are

The benchmark result for buffers is very long, so I created a gist for this benchmark result
all results:

➜  node git:(mert/stringView/buffer) ✗ node-benchmark-compare ./result.csv
                                                                                              confidence improvement accuracy (*)    (**)   (***)
buffers/buffer-bytelength-string.js n=4000000 repeat=1 encoding='base64' type='four_bytes'                    1.49 %       ±2.19%  ±2.95%  ±3.93%
buffers/buffer-bytelength-string.js n=4000000 repeat=1 encoding='base64' type='latin1'                        0.71 %       ±2.58%  ±3.51%  ±4.72%
buffers/buffer-bytelength-string.js n=4000000 repeat=1 encoding='base64' type='one_byte'                      0.12 %       ±2.68%  ±3.62%  ±4.83%
buffers/buffer-bytelength-string.js n=4000000 repeat=1 encoding='base64' type='three_bytes'            *      2.57 %       ±2.24%  ±3.03%  ±4.03%
buffers/buffer-bytelength-string.js n=4000000 repeat=1 encoding='base64' type='two_bytes'                    -0.03 %       ±2.96%  ±4.00%  ±5.35%
buffers/buffer-bytelength-string.js n=4000000 repeat=1 encoding='utf8' type='four_bytes'                      1.25 %       ±1.81%  ±2.44%  ±3.24%
buffers/buffer-bytelength-string.js n=4000000 repeat=1 encoding='utf8' type='latin1'                          0.29 %       ±1.89%  ±2.55%  ±3.39%
buffers/buffer-bytelength-string.js n=4000000 repeat=1 encoding='utf8' type='one_byte'                        0.92 %       ±2.08%  ±2.80%  ±3.73%
buffers/buffer-bytelength-string.js n=4000000 repeat=1 encoding='utf8' type='three_bytes'                     0.63 %       ±1.63%  ±2.19%  ±2.92%
buffers/buffer-bytelength-string.js n=4000000 repeat=1 encoding='utf8' type='two_bytes'                       2.27 %       ±2.71%  ±3.66%  ±4.88%
buffers/buffer-bytelength-string.js n=4000000 repeat=16 encoding='base64' type='four_bytes'                  -0.01 %       ±2.29%  ±3.09%  ±4.12%
buffers/buffer-bytelength-string.js n=4000000 repeat=16 encoding='base64' type='latin1'                       1.14 %       ±2.18%  ±2.94%  ±3.91%
buffers/buffer-bytelength-string.js n=4000000 repeat=16 encoding='base64' type='one_byte'                     1.15 %       ±2.48%  ±3.35%  ±4.46%
buffers/buffer-bytelength-string.js n=4000000 repeat=16 encoding='base64' type='three_bytes'                  1.55 %       ±2.14%  ±2.89%  ±3.84%
buffers/buffer-bytelength-string.js n=4000000 repeat=16 encoding='base64' type='two_bytes'                    0.29 %       ±2.24%  ±3.03%  ±4.03%
buffers/buffer-bytelength-string.js n=4000000 repeat=16 encoding='utf8' type='four_bytes'            ***    216.82 %      ±15.57% ±21.51% ±29.69%
buffers/buffer-bytelength-string.js n=4000000 repeat=16 encoding='utf8' type='latin1'                        -0.06 %       ±1.68%  ±2.27%  ±3.02%
buffers/buffer-bytelength-string.js n=4000000 repeat=16 encoding='utf8' type='one_byte'               **      2.48 %       ±1.54%  ±2.09%  ±2.78%
buffers/buffer-bytelength-string.js n=4000000 repeat=16 encoding='utf8' type='three_bytes'           ***    207.83 %       ±4.55%  ±6.26%  ±8.59%
buffers/buffer-bytelength-string.js n=4000000 repeat=16 encoding='utf8' type='two_bytes'             ***    210.70 %       ±5.83%  ±8.06% ±11.15%
buffers/buffer-bytelength-string.js n=4000000 repeat=2 encoding='base64' type='four_bytes'                   -0.84 %       ±2.18%  ±2.97%  ±3.98%
buffers/buffer-bytelength-string.js n=4000000 repeat=2 encoding='base64' type='latin1'                        0.65 %       ±2.09%  ±2.83%  ±3.76%
buffers/buffer-bytelength-string.js n=4000000 repeat=2 encoding='base64' type='one_byte'                      2.12 %       ±2.26%  ±3.08%  ±4.15%
buffers/buffer-bytelength-string.js n=4000000 repeat=2 encoding='base64' type='three_bytes'                   0.85 %       ±2.35%  ±3.17%  ±4.21%
buffers/buffer-bytelength-string.js n=4000000 repeat=2 encoding='base64' type='two_bytes'                     0.56 %       ±2.32%  ±3.14%  ±4.21%
buffers/buffer-bytelength-string.js n=4000000 repeat=2 encoding='utf8' type='four_bytes'                     -0.01 %       ±1.83%  ±2.46%  ±3.28%
buffers/buffer-bytelength-string.js n=4000000 repeat=2 encoding='utf8' type='latin1'                          0.21 %       ±1.93%  ±2.61%  ±3.48%
buffers/buffer-bytelength-string.js n=4000000 repeat=2 encoding='utf8' type='one_byte'                        1.56 %       ±1.82%  ±2.46%  ±3.27%
buffers/buffer-bytelength-string.js n=4000000 repeat=2 encoding='utf8' type='three_bytes'                     0.20 %       ±1.48%  ±2.00%  ±2.66%
buffers/buffer-bytelength-string.js n=4000000 repeat=2 encoding='utf8' type='two_bytes'                       1.10 %       ±1.85%  ±2.49%  ±3.32%
buffers/buffer-bytelength-string.js n=4000000 repeat=256 encoding='base64' type='four_bytes'                 -1.46 %       ±2.05%  ±2.77%  ±3.68%
buffers/buffer-bytelength-string.js n=4000000 repeat=256 encoding='base64' type='latin1'               *     -4.38 %       ±4.22%  ±5.73%  ±7.68%
buffers/buffer-bytelength-string.js n=4000000 repeat=256 encoding='base64' type='one_byte'                    1.62 %       ±3.54%  ±4.85%  ±6.62%
buffers/buffer-bytelength-string.js n=4000000 repeat=256 encoding='base64' type='three_bytes'                -0.72 %       ±1.49%  ±2.01%  ±2.67%
buffers/buffer-bytelength-string.js n=4000000 repeat=256 encoding='base64' type='two_bytes'                   1.30 %       ±2.01%  ±2.71%  ±3.61%
buffers/buffer-bytelength-string.js n=4000000 repeat=256 encoding='utf8' type='four_bytes'           ***    241.57 %      ±16.03% ±21.83% ±29.44%
buffers/buffer-bytelength-string.js n=4000000 repeat=256 encoding='utf8' type='latin1'                       -0.11 %       ±1.49%  ±2.01%  ±2.67%
buffers/buffer-bytelength-string.js n=4000000 repeat=256 encoding='utf8' type='one_byte'                      1.09 %       ±1.55%  ±2.09%  ±2.78%
buffers/buffer-bytelength-string.js n=4000000 repeat=256 encoding='utf8' type='three_bytes'          ***    345.77 %      ±19.42% ±26.39% ±35.52%
buffers/buffer-bytelength-string.js n=4000000 repeat=256 encoding='utf8' type='two_bytes'            ***    320.12 %      ±13.94% ±18.83% ±25.06%

Be aware that when doing many comparisons the risk of a false-positive result increases.
In this case, there are 40 comparisons, you can thus expect the following amount of false-positive results:
  2.00 false positives, when considering a   5% risk acceptance (*, **, ***),
  0.40 false positives, when considering a   1% risk acceptance (**, ***),
  0.04 false positives, when considering a 0.1% risk acceptance (***)
➜  node git:(mert/stringView/buffer) ✗ 

@nodejs-github-bot nodejs-github-bot added buffer Issues and PRs related to the buffer subsystem. c++ Issues and PRs that require attention from people who are familiar with C++. needs-ci PRs that need a full CI run. labels Jan 31, 2026
@mertcanaltin mertcanaltin changed the title src: optimize utf-8 length calculation for small and large strings src: optimize utf-8 byte length calculation using simdutf Jan 31, 2026
Copy link
Member

@BridgeAR BridgeAR left a comment

Choose a reason for hiding this comment

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

The benchmarks show mostly regressions, no?

@mertcanaltin
Copy link
Member Author

The benchmarks show mostly regressions, no?

I only changed the UTF-8 calculation for Buffer.byteLength(). The regression results you see may be due to the local environment. Could you run benchmark-ci for me? That way we can be more certain.

@ChALkeR ChALkeR added the performance Issues and PRs related to the performance of Node.js. label Jan 31, 2026
@mertcanaltin mertcanaltin force-pushed the mert/stringView/buffer branch 2 times, most recently from 97a81a8 to c63b474 Compare January 31, 2026 22:37
@codecov
Copy link

codecov bot commented Feb 1, 2026

Codecov Report

❌ Patch coverage is 69.56522% with 7 lines in your changes missing coverage. Please review.
✅ Project coverage is 89.66%. Comparing base (330e3ee) to head (753dbd0).
⚠️ Report is 103 commits behind head on main.

Files with missing lines Patch % Lines
src/node_buffer.cc 69.56% 7 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main   #61601      +/-   ##
==========================================
- Coverage   91.62%   89.66%   -1.97%     
==========================================
  Files         337      676     +339     
  Lines      140453   206320   +65867     
  Branches    21801    39526   +17725     
==========================================
+ Hits       128694   184999   +56305     
- Misses      11536    13450    +1914     
- Partials      223     7871    +7648     
Files with missing lines Coverage Δ
src/node_buffer.cc 69.79% <69.56%> (ø)

... and 462 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.

@mertcanaltin
Copy link
Member Author

mertcanaltin commented Feb 1, 2026

Thanks for the review @BridgeAR Pushed a fix for the regressions and updated results

issue was String::ValueView overhead eating simdutf gains on one-byte strings. Now I grab external one-byte pointers directly (zero-copy), skip simdutf for small one-byte strings (≤1024) using V8's native path, and apply full simdutf for two-byte strings after 128 bytes.

Results:
https://gist.github.com/mertcanaltin/816fdb8bb6e20d5e4f97e308db0263e9

@mertcanaltin mertcanaltin requested a review from BridgeAR February 1, 2026 14:41
@anonrig
Copy link
Member

anonrig commented Feb 2, 2026

The benchmarks show mostly regressions, no?

@BridgeAR can you rereview? the benchmarks seems to be unstable enough to show differences in untriggered paths

@anonrig anonrig added the request-ci Add this label to start a Jenkins CI on a PR. label Feb 2, 2026
@github-actions github-actions bot removed the request-ci Add this label to start a Jenkins CI on a PR. label Feb 2, 2026
@nodejs-github-bot
Copy link
Collaborator

@mertcanaltin
Copy link
Member Author

Hey @BridgeAR, if you're available, could you take a look at this?

@nodejs-github-bot
Copy link
Collaborator

@anonrig
Copy link
Member

anonrig commented Feb 27, 2026

@mertcanaltin I think the PR description (and the benchmark) needs to be updated since you added a minimum threshold.

@mertcanaltin mertcanaltin force-pushed the mert/stringView/buffer branch from 3da34b6 to ef28e76 Compare March 4, 2026 05:45
@mertcanaltin
Copy link
Member Author

mertcanaltin commented Mar 4, 2026

@anonrig Updated Pr Description, simplified the approach to only use simdutf for two-byte strings. One-byte strings delegate to V8's Utf8LengthV2 ~207-345% improvement on multi-byte

@BridgeAR regressions are resolved, could you re-review?

@BridgeAR
Copy link
Member

BridgeAR commented Mar 4, 2026

Benchmark: https://ci.nodejs.org/view/Node.js%20benchmark/job/benchmark-node-micro-benchmarks/1806/

Significant regressions are still present

@mertcanaltin
Copy link
Member Author

mertcanaltin commented Mar 5, 2026

Benchmark: https://ci.nodejs.org/view/Node.js%20benchmark/job/benchmark-node-micro-benchmarks/1806/

@BridgeAR Thanks for the benchmark results, The regressions on small strings were caused by the extra branching overhead, the previous version had separate IsOneByte(), threshold, and simdutf checks before reaching Utf8LengthV2, which added up for short inputs (repeat=1, repeat=2).

I fixed it by combining the checks into a single condition: if (length <= kSmallStringThreshold || source->IsOneByte()). Since || short-circuits, small strings hit the length check first and go straight to V8 without any additional calls. This way we keep the fast simdutf path for large two-byte strings while small strings take the same lightweight path as before.

my local result, the solved regression:

repeat=1, two_bytes  -16.06% to +1.47% 
repeat=1, three_bytes  -17.44% to +1.52%
repeat=2, two_bytes  -19.59% to +1.86%
repeat=2, three_bytes  -10.65% to +1.06% 

my all local result:

➜  node git:(mert/stringView/buffer) ✗ node-benchmark-compare ./result.csv
                                                                                              confidence improvement accuracy (*)    (**)   (***)
buffers/buffer-bytelength-string.js n=4000000 repeat=1 encoding='base64' type='four_bytes'                   -1.60 %       ±2.24%  ±3.03%  ±4.04%
buffers/buffer-bytelength-string.js n=4000000 repeat=1 encoding='base64' type='latin1'                       -1.04 %       ±2.46%  ±3.34%  ±4.49%
buffers/buffer-bytelength-string.js n=4000000 repeat=1 encoding='base64' type='one_byte'                      0.40 %       ±1.99%  ±2.69%  ±3.57%
buffers/buffer-bytelength-string.js n=4000000 repeat=1 encoding='base64' type='three_bytes'            *     -1.79 %       ±1.67%  ±2.26%  ±3.02%
buffers/buffer-bytelength-string.js n=4000000 repeat=1 encoding='base64' type='two_bytes'                    -0.77 %       ±1.93%  ±2.60%  ±3.46%
buffers/buffer-bytelength-string.js n=4000000 repeat=1 encoding='utf8' type='four_bytes'                     -0.60 %       ±4.04%  ±5.55%  ±7.59%
buffers/buffer-bytelength-string.js n=4000000 repeat=1 encoding='utf8' type='latin1'                          0.39 %       ±1.45%  ±1.96%  ±2.61%
buffers/buffer-bytelength-string.js n=4000000 repeat=1 encoding='utf8' type='one_byte'                        1.50 %       ±1.63%  ±2.20%  ±2.93%
buffers/buffer-bytelength-string.js n=4000000 repeat=1 encoding='utf8' type='three_bytes'                     1.52 %       ±1.64%  ±2.21%  ±2.94%
buffers/buffer-bytelength-string.js n=4000000 repeat=1 encoding='utf8' type='two_bytes'                *      1.47 %       ±1.37%  ±1.85%  ±2.46%
buffers/buffer-bytelength-string.js n=4000000 repeat=16 encoding='base64' type='four_bytes'                   0.10 %       ±2.07%  ±2.79%  ±3.70%
buffers/buffer-bytelength-string.js n=4000000 repeat=16 encoding='base64' type='latin1'                *     -2.04 %       ±1.84%  ±2.49%  ±3.32%
buffers/buffer-bytelength-string.js n=4000000 repeat=16 encoding='base64' type='one_byte'                     2.66 %       ±4.29%  ±5.90%  ±8.09%
buffers/buffer-bytelength-string.js n=4000000 repeat=16 encoding='base64' type='three_bytes'                  0.01 %       ±1.66%  ±2.25%  ±3.00%
buffers/buffer-bytelength-string.js n=4000000 repeat=16 encoding='base64' type='two_bytes'                    0.61 %       ±2.10%  ±2.84%  ±3.79%
buffers/buffer-bytelength-string.js n=4000000 repeat=16 encoding='utf8' type='four_bytes'            ***    196.97 %       ±3.63%  ±5.00%  ±6.88%
buffers/buffer-bytelength-string.js n=4000000 repeat=16 encoding='utf8' type='latin1'                        -0.05 %       ±1.43%  ±1.93%  ±2.57%
buffers/buffer-bytelength-string.js n=4000000 repeat=16 encoding='utf8' type='one_byte'                *      1.77 %       ±1.41%  ±1.91%  ±2.54%
buffers/buffer-bytelength-string.js n=4000000 repeat=16 encoding='utf8' type='three_bytes'           ***    208.59 %       ±5.56%  ±7.69% ±10.62%
buffers/buffer-bytelength-string.js n=4000000 repeat=16 encoding='utf8' type='two_bytes'             ***    204.15 %       ±3.91%  ±5.37%  ±7.35%
buffers/buffer-bytelength-string.js n=4000000 repeat=2 encoding='base64' type='four_bytes'                   -0.01 %       ±1.68%  ±2.27%  ±3.01%
buffers/buffer-bytelength-string.js n=4000000 repeat=2 encoding='base64' type='latin1'                       -0.47 %       ±1.72%  ±2.32%  ±3.09%
buffers/buffer-bytelength-string.js n=4000000 repeat=2 encoding='base64' type='one_byte'                     -0.66 %       ±2.15%  ±2.91%  ±3.89%
buffers/buffer-bytelength-string.js n=4000000 repeat=2 encoding='base64' type='three_bytes'                  -0.61 %       ±1.53%  ±2.07%  ±2.75%
buffers/buffer-bytelength-string.js n=4000000 repeat=2 encoding='base64' type='two_bytes'                    -0.23 %       ±2.05%  ±2.76%  ±3.68%
buffers/buffer-bytelength-string.js n=4000000 repeat=2 encoding='utf8' type='four_bytes'                     -0.41 %       ±1.49%  ±2.01%  ±2.69%
buffers/buffer-bytelength-string.js n=4000000 repeat=2 encoding='utf8' type='latin1'                          0.28 %       ±1.54%  ±2.08%  ±2.78%
buffers/buffer-bytelength-string.js n=4000000 repeat=2 encoding='utf8' type='one_byte'               ***      3.25 %       ±1.61%  ±2.17%  ±2.88%
buffers/buffer-bytelength-string.js n=4000000 repeat=2 encoding='utf8' type='three_bytes'                     1.06 %       ±1.73%  ±2.34%  ±3.13%
buffers/buffer-bytelength-string.js n=4000000 repeat=2 encoding='utf8' type='two_bytes'                *      1.86 %       ±1.53%  ±2.07%  ±2.78%
buffers/buffer-bytelength-string.js n=4000000 repeat=256 encoding='base64' type='four_bytes'                 -0.57 %       ±2.07%  ±2.79%  ±3.71%
buffers/buffer-bytelength-string.js n=4000000 repeat=256 encoding='base64' type='latin1'                     -2.11 %       ±2.59%  ±3.56%  ±4.90%
buffers/buffer-bytelength-string.js n=4000000 repeat=256 encoding='base64' type='one_byte'                   -1.13 %       ±2.10%  ±2.83%  ±3.77%
buffers/buffer-bytelength-string.js n=4000000 repeat=256 encoding='base64' type='three_bytes'                 0.06 %       ±3.00%  ±4.09%  ±5.54%
buffers/buffer-bytelength-string.js n=4000000 repeat=256 encoding='base64' type='two_bytes'                  -1.17 %       ±1.72%  ±2.32%  ±3.09%
buffers/buffer-bytelength-string.js n=4000000 repeat=256 encoding='utf8' type='four_bytes'           ***    222.29 %       ±5.34%  ±7.38% ±10.21%
buffers/buffer-bytelength-string.js n=4000000 repeat=256 encoding='utf8' type='latin1'                       -0.05 %       ±1.04%  ±1.41%  ±1.88%
buffers/buffer-bytelength-string.js n=4000000 repeat=256 encoding='utf8' type='one_byte'                      0.80 %       ±1.43%  ±1.93%  ±2.59%
buffers/buffer-bytelength-string.js n=4000000 repeat=256 encoding='utf8' type='three_bytes'          ***    299.53 %       ±7.37% ±10.21% ±14.14%
buffers/buffer-bytelength-string.js n=4000000 repeat=256 encoding='utf8' type='two_bytes'            ***    301.01 %       ±8.69% ±12.04% ±16.70%

Be aware that when doing many comparisons the risk of a false-positive result increases.
In this case, there are 40 comparisons, you can thus expect the following amount of false-positive results:
  2.00 false positives, when considering a   5% risk acceptance (*, **, ***),
  0.40 false positives, when considering a   1% risk acceptance (**, ***),
  0.04 false positives, when considering a 0.1% risk acceptance (***)
➜  node git:(mert/stringView/buffer) ✗ 

@BridgeAR
Copy link
Member

BridgeAR commented Mar 6, 2026

Benchmark CI: https://ci.nodejs.org/view/Node.js%20benchmark/job/benchmark-node-micro-benchmarks/1810/

Results
confidence improvement accuracy (*)    (**)   (***)
buffers/buffer-atob.js n=1000000 size=128                                                                                                              ***      6.07 %       ±1.37%  ±1.81%  ±2.34%
buffers/buffer-atob.js n=1000000 size=16                                                                                                               ***      2.78 %       ±0.95%  ±1.25%  ±1.62%
buffers/buffer-atob.js n=1000000 size=32                                                                                                               ***      2.19 %       ±1.26%  ±1.66%  ±2.15%
buffers/buffer-atob.js n=1000000 size=64                                                                                                               ***      3.43 %       ±1.17%  ±1.55%  ±2.00%
buffers/buffer-base64-decode-wrapped.js n=32 linesCount=524288 charsPerLine=76                                                                                  0.38 %       ±0.61%  ±0.81%  ±1.05%
buffers/buffer-base64-decode.js size=8388608 n=32                                                                                                              -0.05 %       ±0.11%  ±0.15%  ±0.19%
buffers/buffer-base64-encode.js n=32 len=67108864                                                                                                              -0.02 %       ±0.06%  ±0.08%  ±0.11%
buffers/buffer-base64url-decode.js size=8388608 n=32                                                                                                            0.04 %       ±0.12%  ±0.15%  ±0.20%
buffers/buffer-base64url-encode.js n=32 len=67108864                                                                                                           -0.03 %       ±0.08%  ±0.10%  ±0.13%
buffers/buffer-btoa.js n=1000000 size=1024                                                                                                                      0.44 %       ±0.58%  ±0.77%  ±0.99%
buffers/buffer-btoa.js n=1000000 size=128                                                                                                                      -0.80 %       ±1.38%  ±1.83%  ±2.36%
buffers/buffer-btoa.js n=1000000 size=16                                                                                                               ***     -3.10 %       ±1.51%  ±1.99%  ±2.57%
buffers/buffer-btoa.js n=1000000 size=256                                                                                                                *      1.29 %       ±1.15%  ±1.52%  ±1.96%
buffers/buffer-btoa.js n=1000000 size=32                                                                                                                       -1.39 %       ±1.56%  ±2.07%  ±2.67%
buffers/buffer-btoa.js n=1000000 size=64                                                                                                                **     -2.04 %       ±1.51%  ±2.00%  ±2.58%
buffers/buffer-bytelength-buffer.js n=4000000 len=16                                                                                                            0.19 %       ±1.97%  ±2.61%  ±3.36%
buffers/buffer-bytelength-buffer.js n=4000000 len=2                                                                                                             0.96 %       ±2.26%  ±2.99%  ±3.85%
buffers/buffer-bytelength-buffer.js n=4000000 len=256                                                                                                    *     -2.19 %       ±2.06%  ±2.72%  ±3.50%
buffers/buffer-bytelength-string.js n=4000000 repeat=1 encoding='base64' type='four_bytes'                                                                      0.06 %       ±1.83%  ±2.42%  ±3.12%
buffers/buffer-bytelength-string.js n=4000000 repeat=1 encoding='base64' type='latin1'                                                                  **      2.48 %       ±1.80%  ±2.38%  ±3.08%
buffers/buffer-bytelength-string.js n=4000000 repeat=1 encoding='base64' type='one_byte'                                                                       -0.37 %       ±1.86%  ±2.46%  ±3.18%
buffers/buffer-bytelength-string.js n=4000000 repeat=1 encoding='base64' type='three_bytes'                                                                    -1.27 %       ±1.80%  ±2.38%  ±3.07%
buffers/buffer-bytelength-string.js n=4000000 repeat=1 encoding='base64' type='two_bytes'                                                                       0.34 %       ±1.93%  ±2.55%  ±3.29%
buffers/buffer-bytelength-string.js n=4000000 repeat=1 encoding='utf8' type='four_bytes'                                                               ***     -1.47 %       ±0.83%  ±1.10%  ±1.43%
buffers/buffer-bytelength-string.js n=4000000 repeat=1 encoding='utf8' type='latin1'                                                                   ***      6.51 %       ±1.47%  ±1.94%  ±2.51%
buffers/buffer-bytelength-string.js n=4000000 repeat=1 encoding='utf8' type='one_byte'                                                                 ***      8.83 %       ±1.21%  ±1.61%  ±2.07%
buffers/buffer-bytelength-string.js n=4000000 repeat=1 encoding='utf8' type='three_bytes'                                                              ***     -5.72 %       ±1.11%  ±1.47%  ±1.89%
buffers/buffer-bytelength-string.js n=4000000 repeat=1 encoding='utf8' type='two_bytes'                                                                ***     -4.50 %       ±1.24%  ±1.64%  ±2.11%
buffers/buffer-bytelength-string.js n=4000000 repeat=16 encoding='base64' type='four_bytes'                                                                     0.51 %       ±1.79%  ±2.36%  ±3.04%
buffers/buffer-bytelength-string.js n=4000000 repeat=16 encoding='base64' type='latin1'                                                                 **      2.55 %       ±1.79%  ±2.37%  ±3.06%
buffers/buffer-bytelength-string.js n=4000000 repeat=16 encoding='base64' type='one_byte'                                                                *      1.95 %       ±1.64%  ±2.17%  ±2.80%
buffers/buffer-bytelength-string.js n=4000000 repeat=16 encoding='base64' type='three_bytes'                                                                    0.93 %       ±1.78%  ±2.36%  ±3.04%
buffers/buffer-bytelength-string.js n=4000000 repeat=16 encoding='base64' type='two_bytes'                                                                      0.24 %       ±1.90%  ±2.51%  ±3.24%
buffers/buffer-bytelength-string.js n=4000000 repeat=16 encoding='utf8' type='four_bytes'                                                              ***    199.37 %       ±1.02%  ±1.36%  ±1.77%
buffers/buffer-bytelength-string.js n=4000000 repeat=16 encoding='utf8' type='latin1'                                                                   **      0.69 %       ±0.41%  ±0.54%  ±0.70%
buffers/buffer-bytelength-string.js n=4000000 repeat=16 encoding='utf8' type='one_byte'                                                                ***      8.51 %       ±2.03%  ±2.68%  ±3.46%
buffers/buffer-bytelength-string.js n=4000000 repeat=16 encoding='utf8' type='three_bytes'                                                             ***    111.67 %       ±1.93%  ±2.57%  ±3.34%
buffers/buffer-bytelength-string.js n=4000000 repeat=16 encoding='utf8' type='two_bytes'                                                               ***     72.98 %       ±1.57%  ±2.08%  ±2.71%
buffers/buffer-bytelength-string.js n=4000000 repeat=2 encoding='base64' type='four_bytes'                                                                      1.02 %       ±1.76%  ±2.33%  ±3.00%
buffers/buffer-bytelength-string.js n=4000000 repeat=2 encoding='base64' type='latin1'                                                                          0.85 %       ±2.06%  ±2.72%  ±3.51%
buffers/buffer-bytelength-string.js n=4000000 repeat=2 encoding='base64' type='one_byte'                                                                       -1.05 %       ±1.68%  ±2.23%  ±2.87%
buffers/buffer-bytelength-string.js n=4000000 repeat=2 encoding='base64' type='three_bytes'                                                                     0.78 %       ±1.83%  ±2.42%  ±3.11%
buffers/buffer-bytelength-string.js n=4000000 repeat=2 encoding='base64' type='two_bytes'                                                                      -0.19 %       ±1.95%  ±2.58%  ±3.33%
buffers/buffer-bytelength-string.js n=4000000 repeat=2 encoding='utf8' type='four_bytes'                                                               ***      0.88 %       ±0.51%  ±0.68%  ±0.88%
buffers/buffer-bytelength-string.js n=4000000 repeat=2 encoding='utf8' type='latin1'                                                                   ***      8.15 %       ±1.74%  ±2.30%  ±2.97%
buffers/buffer-bytelength-string.js n=4000000 repeat=2 encoding='utf8' type='one_byte'                                                                 ***     10.27 %       ±2.14%  ±2.83%  ±3.65%
buffers/buffer-bytelength-string.js n=4000000 repeat=2 encoding='utf8' type='three_bytes'                                                              ***      2.18 %       ±0.80%  ±1.05%  ±1.36%
buffers/buffer-bytelength-string.js n=4000000 repeat=2 encoding='utf8' type='two_bytes'                                                                ***      2.52 %       ±0.94%  ±1.24%  ±1.59%
buffers/buffer-bytelength-string.js n=4000000 repeat=256 encoding='base64' type='four_bytes'                                                                    0.81 %       ±1.93%  ±2.55%  ±3.28%
buffers/buffer-bytelength-string.js n=4000000 repeat=256 encoding='base64' type='latin1'                                                                        1.69 %       ±1.69%  ±2.23%  ±2.88%
buffers/buffer-bytelength-string.js n=4000000 repeat=256 encoding='base64' type='one_byte'                                                                     -0.00 %       ±1.88%  ±2.49%  ±3.21%
buffers/buffer-bytelength-string.js n=4000000 repeat=256 encoding='base64' type='three_bytes'                                                                  -0.91 %       ±1.62%  ±2.14%  ±2.76%
buffers/buffer-bytelength-string.js n=4000000 repeat=256 encoding='base64' type='two_bytes'                                                                     0.96 %       ±1.91%  ±2.53%  ±3.26%
buffers/buffer-bytelength-string.js n=4000000 repeat=256 encoding='utf8' type='four_bytes'                                                             ***    305.35 %       ±1.08%  ±1.44%  ±1.87%
buffers/buffer-bytelength-string.js n=4000000 repeat=256 encoding='utf8' type='latin1'                                                                          0.01 %       ±1.12%  ±1.48%  ±1.91%
buffers/buffer-bytelength-string.js n=4000000 repeat=256 encoding='utf8' type='one_byte'                                                                        0.22 %       ±1.21%  ±1.60%  ±2.06%
buffers/buffer-bytelength-string.js n=4000000 repeat=256 encoding='utf8' type='three_bytes'                                                            ***    322.25 %       ±1.07%  ±1.42%  ±1.85%
buffers/buffer-bytelength-string.js n=4000000 repeat=256 encoding='utf8' type='two_bytes'                                                              ***    209.39 %       ±0.77%  ±1.02%  ±1.33%
buffers/buffer-compare-instance-method.js n=1000000 args=1 size=16                                                                                             -0.94 %       ±2.57%  ±3.41%  ±4.39%
buffers/buffer-compare-instance-method.js n=1000000 args=1 size=16386                                                                                          -1.48 %       ±1.78%  ±2.35%  ±3.03%
buffers/buffer-compare-instance-method.js n=1000000 args=1 size=4096                                                                                           -0.78 %       ±2.34%  ±3.09%  ±3.98%
buffers/buffer-compare-instance-method.js n=1000000 args=1 size=512                                                                                             1.84 %       ±2.80%  ±3.71%  ±4.78%
buffers/buffer-compare-instance-method.js n=1000000 args=2 size=16                                                                                              1.90 %       ±2.01%  ±2.66%  ±3.43%
buffers/buffer-compare-instance-method.js n=1000000 args=2 size=16386                                                                                           0.28 %       ±3.45%  ±4.56%  ±5.88%
buffers/buffer-compare-instance-method.js n=1000000 args=2 size=4096                                                                                    **      3.00 %       ±1.94%  ±2.57%  ±3.31%
buffers/buffer-compare-instance-method.js n=1000000 args=2 size=512                                                                                            -0.14 %       ±1.91%  ±2.53%  ±3.26%
buffers/buffer-compare-instance-method.js n=1000000 args=5 size=16                                                                                             -0.64 %       ±2.40%  ±3.17%  ±4.08%
buffers/buffer-compare-instance-method.js n=1000000 args=5 size=16386                                                                                          -0.38 %       ±2.94%  ±3.89%  ±5.02%
buffers/buffer-compare-instance-method.js n=1000000 args=5 size=4096                                                                                           -0.48 %       ±1.79%  ±2.37%  ±3.05%
buffers/buffer-compare-instance-method.js n=1000000 args=5 size=512                                                                                             0.27 %       ±2.25%  ±2.97%  ±3.83%
buffers/buffer-compare-offset.js n=1000000 size=16 method='offset'                                                                                             -0.93 %       ±1.26%  ±1.66%  ±2.14%
buffers/buffer-compare-offset.js n=1000000 size=16 method='slice'                                                                                               0.19 %       ±1.20%  ±1.58%  ±2.04%
buffers/buffer-compare-offset.js n=1000000 size=16386 method='offset'                                                                                           0.54 %       ±1.30%  ±1.72%  ±2.22%
buffers/buffer-compare-offset.js n=1000000 size=16386 method='slice'                                                                                            1.15 %       ±1.35%  ±1.79%  ±2.31%
buffers/buffer-compare-offset.js n=1000000 size=4096 method='offset'                                                                                            1.17 %       ±1.55%  ±2.05%  ±2.65%
buffers/buffer-compare-offset.js n=1000000 size=4096 method='slice'                                                                                     **      1.88 %       ±1.18%  ±1.57%  ±2.02%
buffers/buffer-compare-offset.js n=1000000 size=512 method='offset'                                                                                             0.61 %       ±1.39%  ±1.84%  ±2.37%
buffers/buffer-compare-offset.js n=1000000 size=512 method='slice'                                                                                              0.83 %       ±1.20%  ±1.59%  ±2.05%
buffers/buffer-compare.js n=1000000 size=16                                                                                                                     0.01 %       ±1.51%  ±1.99%  ±2.57%
buffers/buffer-compare.js n=1000000 size=16386                                                                                                                 -0.46 %       ±0.79%  ±1.04%  ±1.36%
buffers/buffer-compare.js n=1000000 size=4096                                                                                                                  -0.71 %       ±1.56%  ±2.06%  ±2.66%
buffers/buffer-compare.js n=1000000 size=512                                                                                                                    0.75 %       ±1.21%  ±1.60%  ±2.07%
buffers/buffer-concat-fill.js n=800000 extraSize=1                                                                                                              0.22 %       ±0.75%  ±1.00%  ±1.28%
buffers/buffer-concat-fill.js n=800000 extraSize=1024                                                                                                           0.03 %       ±0.73%  ±0.96%  ±1.24%
buffers/buffer-concat-fill.js n=800000 extraSize=256                                                                                                            0.43 %       ±0.67%  ±0.89%  ±1.15%
buffers/buffer-concat.js n=800000 withTotalLength=0 pieceSize=1 pieces=16                                                                                      -0.47 %       ±0.78%  ±1.03%  ±1.33%
buffers/buffer-concat.js n=800000 withTotalLength=0 pieceSize=1 pieces=4                                                                                       -0.39 %       ±0.91%  ±1.21%  ±1.56%
buffers/buffer-concat.js n=800000 withTotalLength=0 pieceSize=16 pieces=16                                                                                      0.09 %       ±0.69%  ±0.91%  ±1.17%
buffers/buffer-concat.js n=800000 withTotalLength=0 pieceSize=16 pieces=4                                                                                      -0.52 %       ±1.32%  ±1.74%  ±2.25%
buffers/buffer-concat.js n=800000 withTotalLength=0 pieceSize=256 pieces=16                                                                                     0.17 %       ±0.48%  ±0.64%  ±0.82%
buffers/buffer-concat.js n=800000 withTotalLength=0 pieceSize=256 pieces=4                                                                                     -0.59 %       ±0.71%  ±0.94%  ±1.21%
buffers/buffer-concat.js n=800000 withTotalLength=1 pieceSize=1 pieces=16                                                                                      -0.62 %       ±1.11%  ±1.46%  ±1.89%
buffers/buffer-concat.js n=800000 withTotalLength=1 pieceSize=1 pieces=4                                                                                       -0.29 %       ±1.11%  ±1.47%  ±1.89%
buffers/buffer-concat.js n=800000 withTotalLength=1 pieceSize=16 pieces=16                                                                               *      1.48 %       ±1.32%  ±1.75%  ±2.26%
buffers/buffer-concat.js n=800000 withTotalLength=1 pieceSize=16 pieces=4                                                                                      -0.09 %       ±1.18%  ±1.56%  ±2.01%
buffers/buffer-concat.js n=800000 withTotalLength=1 pieceSize=256 pieces=16                                                                                    -0.44 %       ±0.49%  ±0.65%  ±0.83%
buffers/buffer-concat.js n=800000 withTotalLength=1 pieceSize=256 pieces=4                                                                                      0.00 %       ±0.63%  ±0.83%  ±1.07%
buffers/buffer-copy.js n=6000000 partial='false' bytes=1024                                                                                                     0.97 %       ±1.37%  ±1.82%  ±2.34%
buffers/buffer-copy.js n=6000000 partial='false' bytes=128                                                                                                     -1.87 %       ±2.27%  ±3.00%  ±3.87%
buffers/buffer-copy.js n=6000000 partial='false' bytes=8                                                                                                        2.16 %       ±2.60%  ±3.43%  ±4.43%
buffers/buffer-copy.js n=6000000 partial='true' bytes=1024                                                                                                     -0.44 %       ±0.74%  ±0.98%  ±1.27%
buffers/buffer-copy.js n=6000000 partial='true' bytes=128                                                                                                      -0.11 %       ±0.69%  ±0.91%  ±1.18%
buffers/buffer-copy.js n=6000000 partial='true' bytes=8                                                                                                         0.15 %       ±0.65%  ±0.87%  ±1.12%
buffers/buffer-creation.js n=600000 len=10 type='fast-alloc-fill'                                                                                              -2.04 %       ±3.08%  ±4.07%  ±5.25%
buffers/buffer-creation.js n=600000 len=10 type='fast-alloc'                                                                                                   -1.66 %       ±3.50%  ±4.63%  ±5.97%
buffers/buffer-creation.js n=600000 len=10 type='fast-allocUnsafe'                                                                                             -0.64 %       ±3.86%  ±5.10%  ±6.57%
buffers/buffer-creation.js n=600000 len=10 type='slow-allocUnsafe'                                                                                       *     -3.77 %       ±3.64%  ±4.81%  ±6.20%
buffers/buffer-creation.js n=600000 len=1024 type='fast-alloc-fill'                                                                                             0.37 %       ±0.54%  ±0.72%  ±0.93%
buffers/buffer-creation.js n=600000 len=1024 type='fast-alloc'                                                                                                 -0.28 %       ±0.54%  ±0.72%  ±0.92%
buffers/buffer-creation.js n=600000 len=1024 type='fast-allocUnsafe'                                                                                           -0.35 %       ±1.11%  ±1.47%  ±1.89%
buffers/buffer-creation.js n=600000 len=1024 type='slow-allocUnsafe'                                                                                     *     -0.46 %       ±0.45%  ±0.59%  ±0.76%
buffers/buffer-creation.js n=600000 len=4096 type='fast-alloc-fill'                                                                                            -0.27 %       ±0.51%  ±0.67%  ±0.87%
buffers/buffer-creation.js n=600000 len=4096 type='fast-alloc'                                                                                                 -0.52 %       ±0.52%  ±0.69%  ±0.89%
buffers/buffer-creation.js n=600000 len=4096 type='fast-allocUnsafe'                                                                                            0.01 %       ±0.54%  ±0.71%  ±0.92%
buffers/buffer-creation.js n=600000 len=4096 type='slow-allocUnsafe'                                                                                            0.13 %       ±0.61%  ±0.81%  ±1.05%
buffers/buffer-creation.js n=600000 len=8192 type='fast-alloc-fill'                                                                                            -0.06 %       ±0.52%  ±0.69%  ±0.89%
buffers/buffer-creation.js n=600000 len=8192 type='fast-alloc'                                                                                                  0.36 %       ±0.58%  ±0.77%  ±0.99%
buffers/buffer-creation.js n=600000 len=8192 type='fast-allocUnsafe'                                                                                     *      0.70 %       ±0.61%  ±0.80%  ±1.04%
buffers/buffer-creation.js n=600000 len=8192 type='slow-allocUnsafe'                                                                                            0.17 %       ±0.57%  ±0.75%  ±0.97%
buffers/buffer-equals.js n=1000000 difflen='false' size=0                                                                                                       0.33 %       ±1.48%  ±1.96%  ±2.52%
buffers/buffer-equals.js n=1000000 difflen='false' size=16386                                                                                          ***     21.02 %       ±0.20%  ±0.26%  ±0.34%
buffers/buffer-equals.js n=1000000 difflen='false' size=512                                                                                                     0.70 %       ±1.08%  ±1.43%  ±1.84%
buffers/buffer-equals.js n=1000000 difflen='true' size=0                                                                                                       -1.21 %       ±1.67%  ±2.20%  ±2.84%
buffers/buffer-equals.js n=1000000 difflen='true' size=16386                                                                                                   -0.39 %       ±1.47%  ±1.94%  ±2.50%
buffers/buffer-equals.js n=1000000 difflen='true' size=512                                                                                                     -0.26 %       ±0.67%  ±0.89%  ±1.14%
buffers/buffer-fill.js n=20000 size=65536 type='fill("")'                                                                                                      -1.21 %       ±2.32%  ±3.07%  ±3.96%
buffers/buffer-fill.js n=20000 size=65536 type='fill("t", "utf8")'                                                                                              0.77 %       ±2.42%  ±3.20%  ±4.12%
buffers/buffer-fill.js n=20000 size=65536 type='fill("t", 0, "utf8")'                                                                                          -0.78 %       ±2.53%  ±3.34%  ±4.31%
buffers/buffer-fill.js n=20000 size=65536 type='fill("t", 0)'                                                                                                  -0.13 %       ±1.29%  ±1.70%  ±2.20%
buffers/buffer-fill.js n=20000 size=65536 type='fill("t")'                                                                                                     -1.89 %       ±2.23%  ±2.94%  ±3.80%
buffers/buffer-fill.js n=20000 size=65536 type='fill("test")'                                                                                                  -1.56 %       ±2.62%  ±3.47%  ±4.47%
buffers/buffer-fill.js n=20000 size=65536 type='fill(0)'                                                                                                **     -1.69 %       ±1.13%  ±1.50%  ±1.93%
buffers/buffer-fill.js n=20000 size=65536 type='fill(100)'                                                                                              **     -1.98 %       ±1.32%  ±1.75%  ±2.26%
buffers/buffer-fill.js n=20000 size=65536 type='fill(400)'                                                                                               *     -1.63 %       ±1.25%  ±1.66%  ±2.14%
buffers/buffer-fill.js n=20000 size=65536 type='fill(Buffer.alloc(1), 0)'                                                                                      -0.87 %       ±2.22%  ±2.94%  ±3.79%
buffers/buffer-fill.js n=20000 size=8192 type='fill("")'                                                                                                        4.63 %       ±9.06% ±11.98% ±15.45%
buffers/buffer-fill.js n=20000 size=8192 type='fill("t", "utf8")'                                                                                              -3.13 %       ±7.49%  ±9.91% ±12.77%
buffers/buffer-fill.js n=20000 size=8192 type='fill("t", 0, "utf8")'                                                                                            0.90 %       ±7.38%  ±9.75% ±12.57%
buffers/buffer-fill.js n=20000 size=8192 type='fill("t", 0)'                                                                                                   -1.64 %       ±6.68%  ±8.83% ±11.38%
buffers/buffer-fill.js n=20000 size=8192 type='fill("t")'                                                                                                      -5.07 %       ±6.71%  ±8.87% ±11.44%
buffers/buffer-fill.js n=20000 size=8192 type='fill("test")'                                                                                                    0.47 %       ±7.82% ±10.35% ±13.34%
buffers/buffer-fill.js n=20000 size=8192 type='fill(0)'                                                                                                 **     -1.45 %       ±0.88%  ±1.16%  ±1.50%
buffers/buffer-fill.js n=20000 size=8192 type='fill(100)'                                                                                                       0.67 %       ±2.52%  ±3.35%  ±4.36%
buffers/buffer-fill.js n=20000 size=8192 type='fill(400)'                                                                                                      -1.64 %       ±2.48%  ±3.30%  ±4.27%
buffers/buffer-fill.js n=20000 size=8192 type='fill(Buffer.alloc(1), 0)'                                                                                **     -9.58 %       ±6.81%  ±9.01% ±11.62%
buffers/buffer-from.js n=800000 len=100 source='array'                                                                                                 ***     -4.72 %       ±0.98%  ±1.30%  ±1.68%
buffers/buffer-from.js n=800000 len=100 source='arraybuffer-middle'                                                                                      *      3.55 %       ±3.09%  ±4.09%  ±5.27%
buffers/buffer-from.js n=800000 len=100 source='arraybuffer'                                                                                                   -0.19 %       ±3.00%  ±3.97%  ±5.12%
buffers/buffer-from.js n=800000 len=100 source='buffer'                                                                                                         0.51 %       ±2.16%  ±2.86%  ±3.68%
buffers/buffer-from.js n=800000 len=100 source='object'                                                                                                         1.63 %       ±2.48%  ±3.28%  ±4.23%
buffers/buffer-from.js n=800000 len=100 source='string-base64'                                                                                                 -0.65 %       ±0.72%  ±0.95%  ±1.23%
buffers/buffer-from.js n=800000 len=100 source='string-utf8'                                                                                                   -0.81 %       ±1.52%  ±2.00%  ±2.58%
buffers/buffer-from.js n=800000 len=100 source='string'                                                                                                        -0.66 %       ±1.44%  ±1.91%  ±2.46%
buffers/buffer-from.js n=800000 len=100 source='uint16array'                                                                                                    0.02 %       ±1.45%  ±1.91%  ±2.46%
buffers/buffer-from.js n=800000 len=100 source='uint8array'                                                                                                     0.83 %       ±2.18%  ±2.88%  ±3.71%
buffers/buffer-from.js n=800000 len=2048 source='array'                                                                                                ***      0.47 %       ±0.19%  ±0.25%  ±0.32%
buffers/buffer-from.js n=800000 len=2048 source='arraybuffer-middle'                                                                                            1.36 %       ±2.69%  ±3.56%  ±4.59%
buffers/buffer-from.js n=800000 len=2048 source='arraybuffer'                                                                                                   1.85 %       ±3.17%  ±4.20%  ±5.41%
buffers/buffer-from.js n=800000 len=2048 source='buffer'                                                                                                       -0.08 %       ±0.72%  ±0.95%  ±1.23%
buffers/buffer-from.js n=800000 len=2048 source='object'                                                                                                        0.00 %       ±3.04%  ±4.01%  ±5.17%
buffers/buffer-from.js n=800000 len=2048 source='string-base64'                                                                                                -0.49 %       ±0.55%  ±0.72%  ±0.93%
buffers/buffer-from.js n=800000 len=2048 source='string-utf8'                                                                                                   0.26 %       ±0.65%  ±0.86%  ±1.11%
buffers/buffer-from.js n=800000 len=2048 source='string'                                                                                                       -0.10 %       ±0.55%  ±0.73%  ±0.94%
buffers/buffer-from.js n=800000 len=2048 source='uint16array'                                                                                                  -0.23 %       ±0.58%  ±0.77%  ±0.99%
buffers/buffer-from.js n=800000 len=2048 source='uint8array'                                                                                                   -0.47 %       ±0.68%  ±0.89%  ±1.15%
buffers/buffer-hex-decode.js n=1000000 len=1024                                                                                                                -0.27 %       ±0.47%  ±0.63%  ±0.81%
buffers/buffer-hex-decode.js n=1000000 len=64                                                                                                                   0.21 %       ±1.37%  ±1.81%  ±2.33%
buffers/buffer-hex-encode.js n=1000000 len=1024                                                                                                        ***     -0.20 %       ±0.08%  ±0.11%  ±0.14%
buffers/buffer-hex-encode.js n=1000000 len=64                                                                                                                  -0.36 %       ±0.62%  ±0.82%  ±1.06%
buffers/buffer-indexof-number.js n=1000000 value=64                                                                                                            -0.82 %       ±2.18%  ±2.88%  ±3.71%
buffers/buffer-indexof.js n=50000 type='buffer' encoding='undefined' search='--l'                                                                              -0.09 %       ±0.25%  ±0.34%  ±0.43%
buffers/buffer-indexof.js n=50000 type='buffer' encoding='undefined' search='@'                                                                                -2.86 %       ±6.90%  ±9.12% ±11.75%
buffers/buffer-indexof.js n=50000 type='buffer' encoding='undefined' search='</i> to the Caterpillar'                                                  ***      0.55 %       ±0.03%  ±0.04%  ±0.06%
buffers/buffer-indexof.js n=50000 type='buffer' encoding='undefined' search='aaaaaaaaaaaaaaaaa'                                                        ***      3.14 %       ±0.05%  ±0.07%  ±0.09%
buffers/buffer-indexof.js n=50000 type='buffer' encoding='undefined' search='Alice'                                                                             1.15 %       ±9.38% ±12.40% ±15.99%
buffers/buffer-indexof.js n=50000 type='buffer' encoding='undefined' search='found it very'                                                            ***      0.22 %       ±0.02%  ±0.03%  ±0.04%
buffers/buffer-indexof.js n=50000 type='buffer' encoding='undefined' search='Gryphon'                                                                          -0.26 %       ±0.65%  ±0.86%  ±1.11%
buffers/buffer-indexof.js n=50000 type='buffer' encoding='undefined' search='neighbouring pool'                                                        ***      2.18 %       ±0.04%  ±0.05%  ±0.06%
buffers/buffer-indexof.js n=50000 type='buffer' encoding='undefined' search='Ou est ma chatte?'                                                                 0.08 %       ±0.09%  ±0.11%  ±0.15%
buffers/buffer-indexof.js n=50000 type='buffer' encoding='undefined' search='SQ'                                                                        **     -2.55 %       ±1.91%  ±2.53%  ±3.27%
buffers/buffer-indexof.js n=50000 type='buffer' encoding='undefined' search='venture to go near the house till she had brought herself down to'          *      1.22 %       ±1.19%  ±1.58%  ±2.05%
buffers/buffer-indexof.js n=50000 type='string' encoding='ucs2' search='--l'                                                                                    0.61 %       ±0.71%  ±0.95%  ±1.22%
buffers/buffer-indexof.js n=50000 type='string' encoding='ucs2' search='@'                                                                             ***     -7.48 %       ±3.74%  ±4.95%  ±6.40%
buffers/buffer-indexof.js n=50000 type='string' encoding='ucs2' search='</i> to the Caterpillar'                                                                1.07 %       ±1.73%  ±2.29%  ±2.96%
buffers/buffer-indexof.js n=50000 type='string' encoding='ucs2' search='aaaaaaaaaaaaaaaaa'                                                                      0.03 %       ±1.05%  ±1.39%  ±1.79%
buffers/buffer-indexof.js n=50000 type='string' encoding='ucs2' search='Alice'                                                                                 -0.87 %       ±5.68%  ±7.52%  ±9.69%
buffers/buffer-indexof.js n=50000 type='string' encoding='ucs2' search='found it very'                                                                          0.25 %       ±0.52%  ±0.68%  ±0.89%
buffers/buffer-indexof.js n=50000 type='string' encoding='ucs2' search='Gryphon'                                                                               -0.45 %       ±0.80%  ±1.06%  ±1.37%
buffers/buffer-indexof.js n=50000 type='string' encoding='ucs2' search='neighbouring pool'                                                                      0.15 %       ±0.67%  ±0.89%  ±1.15%
buffers/buffer-indexof.js n=50000 type='string' encoding='ucs2' search='Ou est ma chatte?'                                                                     -0.50 %       ±1.98%  ±2.61%  ±3.37%
buffers/buffer-indexof.js n=50000 type='string' encoding='ucs2' search='SQ'                                                                                    -0.12 %       ±1.89%  ±2.50%  ±3.22%
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.14 %       ±2.01%  ±2.66%  ±3.43%
buffers/buffer-indexof.js n=50000 type='string' encoding='utf8' search='--l'                                                                                   -0.08 %       ±0.18%  ±0.24%  ±0.31%
buffers/buffer-indexof.js n=50000 type='string' encoding='utf8' search='@'                                                                                     -1.89 %       ±5.00%  ±6.61%  ±8.53%
buffers/buffer-indexof.js n=50000 type='string' encoding='utf8' search='</i> to the Caterpillar'                                                                0.92 %       ±1.10%  ±1.46%  ±1.88%
buffers/buffer-indexof.js n=50000 type='string' encoding='utf8' search='aaaaaaaaaaaaaaaaa'                                                             ***      3.58 %       ±0.88%  ±1.17%  ±1.50%
buffers/buffer-indexof.js n=50000 type='string' encoding='utf8' search='Alice'                                                                                  0.16 %       ±5.89%  ±7.79% ±10.05%
buffers/buffer-indexof.js n=50000 type='string' encoding='utf8' search='found it very'                                                                  **      1.31 %       ±0.79%  ±1.05%  ±1.36%
buffers/buffer-indexof.js n=50000 type='string' encoding='utf8' search='Gryphon'                                                                                0.19 %       ±0.82%  ±1.09%  ±1.40%
buffers/buffer-indexof.js n=50000 type='string' encoding='utf8' search='neighbouring pool'                                                             ***      1.66 %       ±0.89%  ±1.18%  ±1.53%
buffers/buffer-indexof.js n=50000 type='string' encoding='utf8' search='Ou est ma chatte?'                                                             ***     -0.49 %       ±0.13%  ±0.18%  ±0.23%
buffers/buffer-indexof.js n=50000 type='string' encoding='utf8' search='SQ'                                                                                     0.08 %       ±1.70%  ±2.24%  ±2.89%
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.23 %       ±1.37%  ±1.82%  ±2.35%
buffers/buffer-isascii.js input='hello world' length='long' n=20000000                                                                                 ***     38.44 %       ±1.79%  ±2.37%  ±3.06%
buffers/buffer-isascii.js input='hello world' length='short' n=20000000                                                                                ***     29.59 %       ±2.00%  ±2.65%  ±3.41%
buffers/buffer-isutf8.js input='∀x∈ℝ: ⌈x⌉ = −⌊−x⌋' length='long' n=20000000                                                                                     0.04 %       ±0.07%  ±0.10%  ±0.12%
buffers/buffer-isutf8.js input='∀x∈ℝ: ⌈x⌉ = −⌊−x⌋' length='short' n=20000000                                                                                   -0.48 %       ±1.57%  ±2.08%  ±2.68%
buffers/buffer-isutf8.js input='regular string' length='long' n=20000000                                                                                 *     -2.53 %       ±2.29%  ±3.03%  ±3.91%
buffers/buffer-isutf8.js input='regular string' length='short' n=20000000                                                                                       0.09 %       ±0.68%  ±0.90%  ±1.17%
buffers/buffer-iterate.js n=1000 method='for' type='fast' size=16386                                                                                            0.99 %       ±3.27%  ±4.32%  ±5.57%
buffers/buffer-iterate.js n=1000 method='for' type='fast' size=4096                                                                                             5.08 %       ±6.48%  ±8.57% ±11.05%
buffers/buffer-iterate.js n=1000 method='for' type='fast' size=512                                                                                             -9.03 %      ±11.58% ±15.31% ±19.73%
buffers/buffer-iterate.js n=1000 method='forOf' type='fast' size=16386                                                                                          0.04 %       ±0.89%  ±1.18%  ±1.52%
buffers/buffer-iterate.js n=1000 method='forOf' type='fast' size=4096                                                                                           0.34 %       ±3.45%  ±4.56%  ±5.88%
buffers/buffer-iterate.js n=1000 method='forOf' type='fast' size=512                                                                                            1.29 %       ±8.65% ±11.43% ±14.74%
buffers/buffer-iterate.js n=1000 method='iterator' type='fast' size=16386                                                                                       0.14 %       ±0.85%  ±1.12%  ±1.45%
buffers/buffer-iterate.js n=1000 method='iterator' type='fast' size=4096                                                                                       -0.66 %       ±2.15%  ±2.84%  ±3.66%
buffers/buffer-iterate.js n=1000 method='iterator' type='fast' size=512                                                                                         0.37 %       ±7.78% ±10.29% ±13.27%
buffers/buffer-normalize-encoding.js n=1000000 encoding='ascii'                                                                                          *      4.12 %       ±3.56%  ±4.71%  ±6.08%
buffers/buffer-normalize-encoding.js n=1000000 encoding='base64'                                                                                               -0.34 %       ±0.80%  ±1.06%  ±1.37%
buffers/buffer-normalize-encoding.js n=1000000 encoding='BASE64'                                                                                               -0.73 %       ±2.46%  ±3.25%  ±4.19%
buffers/buffer-normalize-encoding.js n=1000000 encoding='binary'                                                                                               -0.90 %       ±3.37%  ±4.46%  ±5.74%
buffers/buffer-normalize-encoding.js n=1000000 encoding='hex'                                                                                                  -0.50 %       ±0.88%  ±1.17%  ±1.51%
buffers/buffer-normalize-encoding.js n=1000000 encoding='HEX'                                                                                                  -1.71 %       ±3.03%  ±4.01%  ±5.16%
buffers/buffer-normalize-encoding.js n=1000000 encoding='latin1'                                                                                               -3.03 %       ±3.64%  ±4.82%  ±6.21%
buffers/buffer-normalize-encoding.js n=1000000 encoding='LATIN1'                                                                                         *      3.44 %       ±2.91%  ±3.85%  ±4.96%
buffers/buffer-normalize-encoding.js n=1000000 encoding='UCS-2'                                                                                          *      2.31 %       ±2.27%  ±3.00%  ±3.86%
buffers/buffer-normalize-encoding.js n=1000000 encoding='UCS2'                                                                                                  0.22 %       ±2.78%  ±3.67%  ±4.73%
buffers/buffer-normalize-encoding.js n=1000000 encoding='utf-16le'                                                                                             -1.02 %       ±1.37%  ±1.82%  ±2.35%
buffers/buffer-normalize-encoding.js n=1000000 encoding='UTF-16LE'                                                                                             -0.99 %       ±3.27%  ±4.32%  ±5.57%
buffers/buffer-normalize-encoding.js n=1000000 encoding='utf-8'                                                                                                 0.03 %       ±0.78%  ±1.03%  ±1.33%
buffers/buffer-normalize-encoding.js n=1000000 encoding='utf16le'                                                                                              -0.86 %       ±1.59%  ±2.11%  ±2.73%
buffers/buffer-normalize-encoding.js n=1000000 encoding='UTF16LE'                                                                                              -0.62 %       ±3.11%  ±4.12%  ±5.31%
buffers/buffer-normalize-encoding.js n=1000000 encoding='utf8'                                                                                                 -1.21 %       ±1.86%  ±2.47%  ±3.20%
buffers/buffer-normalize-encoding.js n=1000000 encoding='UTF8'                                                                                                 -1.43 %       ±1.76%  ±2.33%  ±3.01%
buffers/buffer-read-float.js n=1000000 value='big' endian='LE' type='Double'                                                                                    6.12 %      ±11.85% ±15.67% ±20.20%
buffers/buffer-read-float.js n=1000000 value='big' endian='LE' type='Float'                                                                                     6.08 %      ±13.70% ±18.12% ±23.35%
buffers/buffer-read-float.js n=1000000 value='inf' endian='LE' type='Double'                                                                                   -7.01 %      ±11.31% ±14.95% ±19.28%
buffers/buffer-read-float.js n=1000000 value='inf' endian='LE' type='Float'                                                                                    11.30 %      ±13.82% ±18.27% ±23.56%
buffers/buffer-read-float.js n=1000000 value='nan' endian='LE' type='Double'                                                                                    2.25 %      ±11.90% ±15.73% ±20.28%
buffers/buffer-read-float.js n=1000000 value='nan' endian='LE' type='Float'                                                                                     6.21 %      ±13.87% ±18.34% ±23.64%
buffers/buffer-read-float.js n=1000000 value='small' endian='LE' type='Double'                                                                                 -1.48 %      ±11.70% ±15.47% ±19.94%
buffers/buffer-read-float.js n=1000000 value='small' endian='LE' type='Float'                                                                                   3.43 %      ±13.45% ±17.78% ±22.92%
buffers/buffer-read-float.js n=1000000 value='zero' endian='LE' type='Double'                                                                            *    -12.13 %       ±9.53% ±12.60% ±16.25%
buffers/buffer-read-float.js n=1000000 value='zero' endian='LE' type='Float'                                                                                    2.16 %       ±8.23% ±10.88% ±14.02%
buffers/buffer-read-with-byteLength.js byteLength=1 n=1000000 type='IntBE' buffer='fast'                                                                       -9.35 %       ±9.81% ±12.97% ±16.72%
buffers/buffer-read-with-byteLength.js byteLength=1 n=1000000 type='IntLE' buffer='fast'                                                                       -5.53 %       ±9.54% ±12.61% ±16.26%
buffers/buffer-read-with-byteLength.js byteLength=1 n=1000000 type='UIntBE' buffer='fast'                                                                *    -10.36 %       ±8.95% ±11.84% ±15.26%
buffers/buffer-read-with-byteLength.js byteLength=1 n=1000000 type='UIntLE' buffer='fast'                                                                      -6.10 %       ±9.02% ±11.93% ±15.38%
buffers/buffer-read-with-byteLength.js byteLength=2 n=1000000 type='IntBE' buffer='fast'                                                                       -5.82 %      ±10.51% ±13.90% ±17.92%
buffers/buffer-read-with-byteLength.js byteLength=2 n=1000000 type='IntLE' buffer='fast'                                                                       -2.24 %      ±10.64% ±14.07% ±18.14%
buffers/buffer-read-with-byteLength.js byteLength=2 n=1000000 type='UIntBE' buffer='fast'                                                                      -8.11 %       ±9.44% ±12.48% ±16.08%
buffers/buffer-read-with-byteLength.js byteLength=2 n=1000000 type='UIntLE' buffer='fast'                                                                      -9.47 %       ±9.84% ±13.01% ±16.78%
buffers/buffer-read-with-byteLength.js byteLength=3 n=1000000 type='IntBE' buffer='fast'                                                                        3.16 %      ±10.00% ±13.22% ±17.04%
buffers/buffer-read-with-byteLength.js byteLength=3 n=1000000 type='IntLE' buffer='fast'                                                                       -5.28 %       ±9.36% ±12.37% ±15.95%
buffers/buffer-read-with-byteLength.js byteLength=3 n=1000000 type='UIntBE' buffer='fast'                                                                      -7.02 %       ±9.79% ±12.94% ±16.68%
buffers/buffer-read-with-byteLength.js byteLength=3 n=1000000 type='UIntLE' buffer='fast'                                                                       3.58 %       ±4.44%  ±5.89%  ±7.60%
buffers/buffer-read-with-byteLength.js byteLength=4 n=1000000 type='IntBE' buffer='fast'                                                                        8.77 %      ±10.87% ±14.37% ±18.52%
buffers/buffer-read-with-byteLength.js byteLength=4 n=1000000 type='IntLE' buffer='fast'                                                                        7.13 %      ±10.74% ±14.20% ±18.31%
buffers/buffer-read-with-byteLength.js byteLength=4 n=1000000 type='UIntBE' buffer='fast'                                                                      -4.42 %      ±10.50% ±13.88% ±17.89%
buffers/buffer-read-with-byteLength.js byteLength=4 n=1000000 type='UIntLE' buffer='fast'                                                                       5.27 %      ±10.88% ±14.39% ±18.54%
buffers/buffer-read-with-byteLength.js byteLength=5 n=1000000 type='IntBE' buffer='fast'                                                                        3.43 %       ±8.39% ±11.09% ±14.30%
buffers/buffer-read-with-byteLength.js byteLength=5 n=1000000 type='IntLE' buffer='fast'                                                                        1.06 %       ±9.58% ±12.67% ±16.33%
buffers/buffer-read-with-byteLength.js byteLength=5 n=1000000 type='UIntBE' buffer='fast'                                                                      -6.43 %       ±8.85% ±11.71% ±15.09%
buffers/buffer-read-with-byteLength.js byteLength=5 n=1000000 type='UIntLE' buffer='fast'                                                                *     -7.32 %       ±7.00%  ±9.26% ±11.94%
buffers/buffer-read-with-byteLength.js byteLength=6 n=1000000 type='IntBE' buffer='fast'                                                                       -0.98 %       ±8.34% ±11.03% ±14.22%
buffers/buffer-read-with-byteLength.js byteLength=6 n=1000000 type='IntLE' buffer='fast'                                                                       -6.84 %       ±8.29% ±10.96% ±14.12%
buffers/buffer-read-with-byteLength.js byteLength=6 n=1000000 type='UIntBE' buffer='fast'                                                                      -1.69 %       ±7.95% ±10.50% ±13.54%
buffers/buffer-read-with-byteLength.js byteLength=6 n=1000000 type='UIntLE' buffer='fast'                                                                       0.74 %       ±6.74%  ±8.91% ±11.49%
buffers/buffer-read.js n=1000000 type='BigInt64BE' buffer='fast'                                                                                        **     -6.89 %       ±4.85%  ±6.41%  ±8.27%
buffers/buffer-read.js n=1000000 type='BigInt64LE' buffer='fast'                                                                                       ***     -8.83 %       ±3.99%  ±5.27%  ±6.80%
buffers/buffer-read.js n=1000000 type='BigUInt64BE' buffer='fast'                                                                                               1.74 %      ±12.19% ±16.11% ±20.77%
buffers/buffer-read.js n=1000000 type='BigUInt64LE' buffer='fast'                                                                                              -9.11 %      ±11.43% ±15.11% ±19.48%
buffers/buffer-read.js n=1000000 type='Int16BE' buffer='fast'                                                                                                 -12.98 %      ±13.44% ±17.77% ±22.91%
buffers/buffer-read.js n=1000000 type='Int16LE' buffer='fast'                                                                                                 -10.59 %      ±13.31% ±17.59% ±22.68%
buffers/buffer-read.js n=1000000 type='Int32BE' buffer='fast'                                                                                                   0.46 %      ±11.95% ±15.79% ±20.36%
buffers/buffer-read.js n=1000000 type='Int32LE' buffer='fast'                                                                                            *    -11.86 %      ±11.62% ±15.36% ±19.80%
buffers/buffer-read.js n=1000000 type='Int8' buffer='fast'                                                                                                     -5.64 %      ±15.17% ±20.06% ±25.85%
buffers/buffer-read.js n=1000000 type='UInt16BE' buffer='fast'                                                                                                 -5.37 %      ±15.05% ±19.90% ±25.65%
buffers/buffer-read.js n=1000000 type='UInt16LE' buffer='fast'                                                                                                -11.82 %      ±13.88% ±18.35% ±23.66%
buffers/buffer-read.js n=1000000 type='UInt32BE' buffer='fast'                                                                                                  5.74 %      ±14.47% ±19.13% ±24.66%
buffers/buffer-read.js n=1000000 type='UInt32LE' buffer='fast'                                                                                                  8.88 %      ±14.75% ±19.50% ±25.13%
buffers/buffer-read.js n=1000000 type='UInt8' buffer='fast'                                                                                            ***    -21.37 %      ±12.07% ±15.95% ±20.56%
buffers/buffer-slice.js n=1000000 type='fast'                                                                                                                   2.31 %       ±2.80%  ±3.70%  ±4.78%
buffers/buffer-slice.js n=1000000 type='slow'                                                                                                                  -0.89 %       ±3.09%  ±4.09%  ±5.27%
buffers/buffer-slice.js n=1000000 type='subarray'                                                                                                              -0.27 %       ±2.55%  ±3.38%  ±4.35%
buffers/buffer-swap.js n=1000000 len=1024 method='swap16' aligned='false'                                                                                       0.82 %       ±2.00%  ±2.65%  ±3.41%
buffers/buffer-swap.js n=1000000 len=1024 method='swap16' aligned='true'                                                                                        1.01 %       ±2.63%  ±3.48%  ±4.49%
buffers/buffer-swap.js n=1000000 len=1024 method='swap32' aligned='false'                                                                                       0.08 %       ±0.42%  ±0.56%  ±0.72%
buffers/buffer-swap.js n=1000000 len=1024 method='swap32' aligned='true'                                                                                        0.18 %       ±0.46%  ±0.60%  ±0.78%
buffers/buffer-swap.js n=1000000 len=1024 method='swap64' aligned='false'                                                                                *      0.63 %       ±0.49%  ±0.64%  ±0.83%
buffers/buffer-swap.js n=1000000 len=1024 method='swap64' aligned='true'                                                                                        0.21 %       ±0.44%  ±0.59%  ±0.76%
buffers/buffer-swap.js n=1000000 len=2056 method='swap16' aligned='false'                                                                                       0.30 %       ±0.52%  ±0.69%  ±0.89%
buffers/buffer-swap.js n=1000000 len=2056 method='swap16' aligned='true'                                                                                       -0.13 %       ±0.59%  ±0.78%  ±1.00%
buffers/buffer-swap.js n=1000000 len=2056 method='swap32' aligned='false'                                                                                      -0.04 %       ±0.23%  ±0.30%  ±0.38%
buffers/buffer-swap.js n=1000000 len=2056 method='swap32' aligned='true'                                                                                        0.10 %       ±0.20%  ±0.26%  ±0.34%
buffers/buffer-swap.js n=1000000 len=2056 method='swap64' aligned='false'                                                                                       0.12 %       ±0.25%  ±0.33%  ±0.43%
buffers/buffer-swap.js n=1000000 len=2056 method='swap64' aligned='true'                                                                                 *      0.27 %       ±0.24%  ±0.31%  ±0.40%
buffers/buffer-swap.js n=1000000 len=256 method='swap16' aligned='false'                                                                                **     -2.03 %       ±1.33%  ±1.76%  ±2.27%
buffers/buffer-swap.js n=1000000 len=256 method='swap16' aligned='true'                                                                                        -0.05 %       ±1.45%  ±1.91%  ±2.47%
buffers/buffer-swap.js n=1000000 len=256 method='swap32' aligned='false'                                                                                 *      0.89 %       ±0.80%  ±1.06%  ±1.36%
buffers/buffer-swap.js n=1000000 len=256 method='swap32' aligned='true'                                                                                         0.36 %       ±0.69%  ±0.91%  ±1.18%
buffers/buffer-swap.js n=1000000 len=256 method='swap64' aligned='false'                                                                                       -0.09 %       ±0.90%  ±1.18%  ±1.53%
buffers/buffer-swap.js n=1000000 len=256 method='swap64' aligned='true'                                                                                        -0.29 %       ±1.14%  ±1.50%  ±1.94%
buffers/buffer-swap.js n=1000000 len=64 method='swap16' aligned='false'                                                                                         0.43 %       ±0.53%  ±0.70%  ±0.90%
buffers/buffer-swap.js n=1000000 len=64 method='swap16' aligned='true'                                                                                          0.95 %       ±1.44%  ±1.90%  ±2.45%
buffers/buffer-swap.js n=1000000 len=64 method='swap32' aligned='false'                                                                                         0.25 %       ±0.45%  ±0.59%  ±0.76%
buffers/buffer-swap.js n=1000000 len=64 method='swap32' aligned='true'                                                                                         -0.06 %       ±0.39%  ±0.51%  ±0.66%
buffers/buffer-swap.js n=1000000 len=64 method='swap64' aligned='false'                                                                                         0.42 %       ±0.78%  ±1.03%  ±1.33%
buffers/buffer-swap.js n=1000000 len=64 method='swap64' aligned='true'                                                                                         -0.23 %       ±0.79%  ±1.04%  ±1.34%
buffers/buffer-swap.js n=1000000 len=768 method='swap16' aligned='false'                                                                                 *     -1.01 %       ±0.87%  ±1.15%  ±1.49%
buffers/buffer-swap.js n=1000000 len=768 method='swap16' aligned='true'                                                                                        -0.05 %       ±1.14%  ±1.50%  ±1.93%
buffers/buffer-swap.js n=1000000 len=768 method='swap32' aligned='false'                                                                                        0.58 %       ±0.70%  ±0.93%  ±1.20%
buffers/buffer-swap.js n=1000000 len=768 method='swap32' aligned='true'                                                                                         0.49 %       ±0.65%  ±0.87%  ±1.12%
buffers/buffer-swap.js n=1000000 len=768 method='swap64' aligned='false'                                                                               ***      1.54 %       ±0.55%  ±0.72%  ±0.93%
buffers/buffer-swap.js n=1000000 len=768 method='swap64' aligned='true'                                                                                 **      0.95 %       ±0.63%  ±0.83%  ±1.07%
buffers/buffer-swap.js n=1000000 len=8192 method='swap16' aligned='false'                                                                              ***     -0.33 %       ±0.11%  ±0.14%  ±0.18%
buffers/buffer-swap.js n=1000000 len=8192 method='swap16' aligned='true'                                                                               ***     -0.42 %       ±0.13%  ±0.17%  ±0.22%
buffers/buffer-swap.js n=1000000 len=8192 method='swap32' aligned='false'                                                                                      -0.01 %       ±0.05%  ±0.06%  ±0.08%
buffers/buffer-swap.js n=1000000 len=8192 method='swap32' aligned='true'                                                                                       -0.04 %       ±0.05%  ±0.07%  ±0.09%
buffers/buffer-swap.js n=1000000 len=8192 method='swap64' aligned='false'                                                                                       0.05 %       ±0.08%  ±0.10%  ±0.13%
buffers/buffer-swap.js n=1000000 len=8192 method='swap64' aligned='true'                                                                                        0.02 %       ±0.08%  ±0.10%  ±0.13%
buffers/buffer-tojson.js len=0 n=10000                                                                                                                         -2.67 %      ±10.61% ±14.04% ±18.10%
buffers/buffer-tojson.js len=256 n=10000                                                                                                                       -2.05 %       ±2.58%  ±3.42%  ±4.44%
buffers/buffer-tojson.js len=4096 n=10000                                                                                                                      -0.64 %       ±1.23%  ±1.62%  ±2.09%
buffers/buffer-tostring.js n=1000000 len=1 args=0 encoding=''                                                                                                   0.15 %       ±2.09%  ±2.77%  ±3.57%
buffers/buffer-tostring.js n=1000000 len=1 args=1 encoding='ascii'                                                                                       *     -2.36 %       ±1.80%  ±2.37%  ±3.06%
buffers/buffer-tostring.js n=1000000 len=1 args=1 encoding='hex'                                                                                         *      1.77 %       ±1.77%  ±2.34%  ±3.02%
buffers/buffer-tostring.js n=1000000 len=1 args=1 encoding='latin1'                                                                                             0.00 %       ±2.98%  ±3.93%  ±5.07%
buffers/buffer-tostring.js n=1000000 len=1 args=1 encoding='UCS-2'                                                                                              0.56 %       ±1.14%  ±1.51%  ±1.95%
buffers/buffer-tostring.js n=1000000 len=1 args=1 encoding='utf8'                                                                                               0.26 %       ±2.03%  ±2.68%  ±3.46%
buffers/buffer-tostring.js n=1000000 len=1 args=3 encoding='ascii'                                                                                              0.01 %       ±2.27%  ±3.00%  ±3.86%
buffers/buffer-tostring.js n=1000000 len=1 args=3 encoding='hex'                                                                                       ***      3.72 %       ±1.92%  ±2.53%  ±3.26%
buffers/buffer-tostring.js n=1000000 len=1 args=3 encoding='latin1'                                                                                            -0.96 %       ±2.01%  ±2.66%  ±3.43%
buffers/buffer-tostring.js n=1000000 len=1 args=3 encoding='UCS-2'                                                                                             -0.35 %       ±1.12%  ±1.48%  ±1.91%
buffers/buffer-tostring.js n=1000000 len=1 args=3 encoding='utf8'                                                                                              -0.34 %       ±1.77%  ±2.34%  ±3.01%
buffers/buffer-tostring.js n=1000000 len=1024 args=0 encoding=''                                                                                        **     -1.69 %       ±1.01%  ±1.33%  ±1.72%
buffers/buffer-tostring.js n=1000000 len=1024 args=1 encoding='ascii'                                                                                    *     -1.09 %       ±0.83%  ±1.10%  ±1.42%
buffers/buffer-tostring.js n=1000000 len=1024 args=1 encoding='hex'                                                                                    ***     -0.94 %       ±0.48%  ±0.64%  ±0.82%
buffers/buffer-tostring.js n=1000000 len=1024 args=1 encoding='latin1'                                                                                         -0.11 %       ±1.02%  ±1.35%  ±1.74%
buffers/buffer-tostring.js n=1000000 len=1024 args=1 encoding='UCS-2'                                                                                  ***     -1.81 %       ±0.74%  ±0.97%  ±1.26%
buffers/buffer-tostring.js n=1000000 len=1024 args=1 encoding='utf8'                                                                                   ***     -1.26 %       ±0.66%  ±0.88%  ±1.13%
buffers/buffer-tostring.js n=1000000 len=1024 args=3 encoding='ascii'                                                                                  ***     -1.35 %       ±0.70%  ±0.92%  ±1.19%
buffers/buffer-tostring.js n=1000000 len=1024 args=3 encoding='hex'                                                                                             0.05 %       ±0.39%  ±0.52%  ±0.67%
buffers/buffer-tostring.js n=1000000 len=1024 args=3 encoding='latin1'                                                                                          0.21 %       ±0.88%  ±1.16%  ±1.50%
buffers/buffer-tostring.js n=1000000 len=1024 args=3 encoding='UCS-2'                                                                                  ***     -2.14 %       ±0.71%  ±0.94%  ±1.21%
buffers/buffer-tostring.js n=1000000 len=1024 args=3 encoding='utf8'                                                                                           -0.26 %       ±0.77%  ±1.02%  ±1.31%
buffers/buffer-tostring.js n=1000000 len=64 args=0 encoding=''                                                                                                 -0.44 %       ±1.17%  ±1.55%  ±2.01%
buffers/buffer-tostring.js n=1000000 len=64 args=1 encoding='ascii'                                                                                             1.24 %       ±2.14%  ±2.84%  ±3.68%
buffers/buffer-tostring.js n=1000000 len=64 args=1 encoding='hex'                                                                                               0.63 %       ±1.52%  ±2.01%  ±2.60%
buffers/buffer-tostring.js n=1000000 len=64 args=1 encoding='latin1'                                                                                           -0.36 %       ±2.02%  ±2.68%  ±3.45%
buffers/buffer-tostring.js n=1000000 len=64 args=1 encoding='UCS-2'                                                                                    ***     -2.30 %       ±1.22%  ±1.61%  ±2.08%
buffers/buffer-tostring.js n=1000000 len=64 args=1 encoding='utf8'                                                                                              0.55 %       ±1.28%  ±1.69%  ±2.18%
buffers/buffer-tostring.js n=1000000 len=64 args=3 encoding='ascii'                                                                                            -1.29 %       ±1.45%  ±1.91%  ±2.46%
buffers/buffer-tostring.js n=1000000 len=64 args=3 encoding='hex'                                                                                               1.21 %       ±1.45%  ±1.92%  ±2.47%
buffers/buffer-tostring.js n=1000000 len=64 args=3 encoding='latin1'                                                                                            0.82 %       ±1.61%  ±2.13%  ±2.75%
buffers/buffer-tostring.js n=1000000 len=64 args=3 encoding='UCS-2'                                                                                            -0.15 %       ±1.16%  ±1.53%  ±1.97%
buffers/buffer-tostring.js n=1000000 len=64 args=3 encoding='utf8'                                                                                              1.25 %       ±1.60%  ±2.12%  ±2.73%
buffers/buffer-transcode.js n=100000 length=1 toEncoding='ascii' fromEncoding='ascii'                                                                          -0.40 %       ±1.09%  ±1.44%  ±1.86%
buffers/buffer-transcode.js n=100000 length=1 toEncoding='ascii' fromEncoding='latin1'                                                                  **     -1.47 %       ±0.90%  ±1.19%  ±1.53%
buffers/buffer-transcode.js n=100000 length=1 toEncoding='ascii' fromEncoding='ucs2'                                                                            0.81 %       ±1.55%  ±2.05%  ±2.64%
buffers/buffer-transcode.js n=100000 length=1 toEncoding='ascii' fromEncoding='utf8'                                                                           -1.00 %       ±1.18%  ±1.56%  ±2.01%
buffers/buffer-transcode.js n=100000 length=1 toEncoding='latin1' fromEncoding='ascii'                                                                         -0.16 %       ±0.95%  ±1.25%  ±1.62%
buffers/buffer-transcode.js n=100000 length=1 toEncoding='latin1' fromEncoding='latin1'                                                                 **     -1.24 %       ±0.89%  ±1.18%  ±1.52%
buffers/buffer-transcode.js n=100000 length=1 toEncoding='latin1' fromEncoding='ucs2'                                                                           0.46 %       ±1.33%  ±1.76%  ±2.26%
buffers/buffer-transcode.js n=100000 length=1 toEncoding='latin1' fromEncoding='utf8'                                                                    *     -1.25 %       ±1.18%  ±1.56%  ±2.01%
buffers/buffer-transcode.js n=100000 length=1 toEncoding='ucs2' fromEncoding='ascii'                                                                            0.14 %       ±1.33%  ±1.75%  ±2.26%
buffers/buffer-transcode.js n=100000 length=1 toEncoding='ucs2' fromEncoding='latin1'                                                                           1.24 %       ±1.37%  ±1.81%  ±2.33%
buffers/buffer-transcode.js n=100000 length=1 toEncoding='ucs2' fromEncoding='ucs2'                                                                    ***     -3.23 %       ±1.05%  ±1.39%  ±1.79%
buffers/buffer-transcode.js n=100000 length=1 toEncoding='ucs2' fromEncoding='utf8'                                                                            -0.51 %       ±1.27%  ±1.67%  ±2.16%
buffers/buffer-transcode.js n=100000 length=1 toEncoding='utf8' fromEncoding='ascii'                                                                           -0.02 %       ±0.94%  ±1.25%  ±1.61%
buffers/buffer-transcode.js n=100000 length=1 toEncoding='utf8' fromEncoding='latin1'                                                                  ***     -1.89 %       ±0.89%  ±1.18%  ±1.52%
buffers/buffer-transcode.js n=100000 length=1 toEncoding='utf8' fromEncoding='utf8'                                                                     **     -1.25 %       ±0.94%  ±1.24%  ±1.60%
buffers/buffer-transcode.js n=100000 length=10 toEncoding='ascii' fromEncoding='ascii'                                                                   *     -1.37 %       ±1.15%  ±1.53%  ±1.97%
buffers/buffer-transcode.js n=100000 length=10 toEncoding='ascii' fromEncoding='latin1'                                                                         0.26 %       ±1.06%  ±1.40%  ±1.81%
buffers/buffer-transcode.js n=100000 length=10 toEncoding='ascii' fromEncoding='ucs2'                                                                    *     -1.30 %       ±1.02%  ±1.35%  ±1.74%
buffers/buffer-transcode.js n=100000 length=10 toEncoding='ascii' fromEncoding='utf8'                                                                          -0.11 %       ±1.14%  ±1.50%  ±1.94%
buffers/buffer-transcode.js n=100000 length=10 toEncoding='latin1' fromEncoding='ascii'                                                                  *     -1.27 %       ±1.20%  ±1.59%  ±2.05%
buffers/buffer-transcode.js n=100000 length=10 toEncoding='latin1' fromEncoding='latin1'                                                                **     -1.26 %       ±0.81%  ±1.07%  ±1.38%
buffers/buffer-transcode.js n=100000 length=10 toEncoding='latin1' fromEncoding='ucs2'                                                                         -0.56 %       ±1.06%  ±1.40%  ±1.81%
buffers/buffer-transcode.js n=100000 length=10 toEncoding='latin1' fromEncoding='utf8'                                                                         -0.96 %       ±1.07%  ±1.42%  ±1.83%
buffers/buffer-transcode.js n=100000 length=10 toEncoding='ucs2' fromEncoding='ascii'                                                                    *      1.40 %       ±1.22%  ±1.61%  ±2.08%
buffers/buffer-transcode.js n=100000 length=10 toEncoding='ucs2' fromEncoding='latin1'                                                                          0.89 %       ±1.30%  ±1.71%  ±2.21%
buffers/buffer-transcode.js n=100000 length=10 toEncoding='ucs2' fromEncoding='ucs2'                                                                           -0.59 %       ±1.15%  ±1.52%  ±1.97%
buffers/buffer-transcode.js n=100000 length=10 toEncoding='ucs2' fromEncoding='utf8'                                                                            0.24 %       ±1.29%  ±1.70%  ±2.20%
buffers/buffer-transcode.js n=100000 length=10 toEncoding='utf8' fromEncoding='ascii'                                                                           0.28 %       ±1.09%  ±1.44%  ±1.85%
buffers/buffer-transcode.js n=100000 length=10 toEncoding='utf8' fromEncoding='latin1'                                                                  **     -1.80 %       ±1.14%  ±1.51%  ±1.94%
buffers/buffer-transcode.js n=100000 length=10 toEncoding='utf8' fromEncoding='utf8'                                                                            0.45 %       ±1.37%  ±1.81%  ±2.33%
buffers/buffer-transcode.js n=100000 length=1000 toEncoding='ascii' fromEncoding='ascii'                                                                       -0.29 %       ±0.77%  ±1.02%  ±1.31%
buffers/buffer-transcode.js n=100000 length=1000 toEncoding='ascii' fromEncoding='latin1'                                                                      -0.45 %       ±0.85%  ±1.12%  ±1.44%
buffers/buffer-transcode.js n=100000 length=1000 toEncoding='ascii' fromEncoding='ucs2'                                                                ***      3.00 %       ±0.34%  ±0.45%  ±0.58%
buffers/buffer-transcode.js n=100000 length=1000 toEncoding='ascii' fromEncoding='utf8'                                                                  *     -1.16 %       ±0.88%  ±1.17%  ±1.51%
buffers/buffer-transcode.js n=100000 length=1000 toEncoding='latin1' fromEncoding='ascii'                                                                      -0.10 %       ±0.77%  ±1.01%  ±1.31%
buffers/buffer-transcode.js n=100000 length=1000 toEncoding='latin1' fromEncoding='latin1'                                                                      0.09 %       ±0.78%  ±1.03%  ±1.33%
buffers/buffer-transcode.js n=100000 length=1000 toEncoding='latin1' fromEncoding='ucs2'                                                               ***      1.00 %       ±0.30%  ±0.40%  ±0.52%
buffers/buffer-transcode.js n=100000 length=1000 toEncoding='latin1' fromEncoding='utf8'                                                                 *     -1.00 %       ±0.79%  ±1.05%  ±1.35%
buffers/buffer-transcode.js n=100000 length=1000 toEncoding='ucs2' fromEncoding='ascii'                                                                        -0.52 %       ±0.75%  ±0.99%  ±1.28%
buffers/buffer-transcode.js n=100000 length=1000 toEncoding='ucs2' fromEncoding='latin1'                                                                        0.05 %       ±0.71%  ±0.94%  ±1.21%
buffers/buffer-transcode.js n=100000 length=1000 toEncoding='ucs2' fromEncoding='ucs2'                                                                 ***     -0.91 %       ±0.50%  ±0.66%  ±0.84%
buffers/buffer-transcode.js n=100000 length=1000 toEncoding='ucs2' fromEncoding='utf8'                                                                          0.05 %       ±0.64%  ±0.85%  ±1.10%
buffers/buffer-transcode.js n=100000 length=1000 toEncoding='utf8' fromEncoding='ascii'                                                                  *     -0.62 %       ±0.50%  ±0.66%  ±0.85%
buffers/buffer-transcode.js n=100000 length=1000 toEncoding='utf8' fromEncoding='latin1'                                                                       -0.17 %       ±0.48%  ±0.64%  ±0.83%
buffers/buffer-transcode.js n=100000 length=1000 toEncoding='utf8' fromEncoding='utf8'                                                                  **      1.01 %       ±0.62%  ±0.82%  ±1.06%
buffers/buffer-write-string-short.js n=1000000 len=1 encoding='ascii'                                                                                           1.49 %       ±2.53%  ±3.35%  ±4.31%
buffers/buffer-write-string-short.js n=1000000 len=1 encoding='latin1'                                                                                          2.33 %       ±2.56%  ±3.39%  ±4.37%
buffers/buffer-write-string-short.js n=1000000 len=1 encoding='utf8'                                                                                    **      2.20 %       ±1.62%  ±2.14%  ±2.76%
buffers/buffer-write-string-short.js n=1000000 len=16 encoding='ascii'                                                                                  **      3.85 %       ±2.49%  ±3.29%  ±4.25%
buffers/buffer-write-string-short.js n=1000000 len=16 encoding='latin1'                                                                                         2.05 %       ±3.00%  ±3.96%  ±5.11%
buffers/buffer-write-string-short.js n=1000000 len=16 encoding='utf8'                                                                                           2.41 %       ±2.59%  ±3.42%  ±4.41%
buffers/buffer-write-string-short.js n=1000000 len=32 encoding='ascii'                                                                                          2.21 %       ±2.24%  ±2.96%  ±3.82%
buffers/buffer-write-string-short.js n=1000000 len=32 encoding='latin1'                                                                                        -0.42 %       ±2.62%  ±3.47%  ±4.47%
buffers/buffer-write-string-short.js n=1000000 len=32 encoding='utf8'                                                                                           2.45 %       ±2.48%  ±3.28%  ±4.22%
buffers/buffer-write-string-short.js n=1000000 len=8 encoding='ascii'                                                                                    *      3.07 %       ±2.73%  ±3.61%  ±4.66%
buffers/buffer-write-string-short.js n=1000000 len=8 encoding='latin1'                                                                                          1.21 %       ±2.58%  ±3.42%  ±4.41%
buffers/buffer-write-string-short.js n=1000000 len=8 encoding='utf8'                                                                                            2.02 %       ±2.06%  ±2.72%  ±3.51%
buffers/buffer-write-string.js n=1000000 len=2048 args='' encoding=''                                                                                           0.03 %       ±0.20%  ±0.26%  ±0.34%
buffers/buffer-write-string.js n=1000000 len=2048 args='' encoding='ascii'                                                                                      0.47 %       ±0.77%  ±1.02%  ±1.32%
buffers/buffer-write-string.js n=1000000 len=2048 args='' encoding='hex'                                                                                **      0.11 %       ±0.08%  ±0.11%  ±0.14%
buffers/buffer-write-string.js n=1000000 len=2048 args='' encoding='latin1'                                                                                     0.27 %       ±0.93%  ±1.23%  ±1.59%
buffers/buffer-write-string.js n=1000000 len=2048 args='' encoding='utf16le'                                                                             *      1.03 %       ±0.79%  ±1.05%  ±1.35%
buffers/buffer-write-string.js n=1000000 len=2048 args='' encoding='utf8'                                                                              ***      1.40 %       ±0.57%  ±0.76%  ±0.98%
buffers/buffer-write-string.js n=1000000 len=2048 args='offset' encoding=''                                                                                    -0.29 %       ±0.87%  ±1.15%  ±1.48%
buffers/buffer-write-string.js n=1000000 len=2048 args='offset' encoding='ascii'                                                                                0.56 %       ±2.96%  ±3.91%  ±5.04%
buffers/buffer-write-string.js n=1000000 len=2048 args='offset' encoding='hex'                                                                                  0.20 %       ±0.28%  ±0.37%  ±0.48%
buffers/buffer-write-string.js n=1000000 len=2048 args='offset' encoding='latin1'                                                                               0.71 %       ±2.75%  ±3.63%  ±4.69%
buffers/buffer-write-string.js n=1000000 len=2048 args='offset' encoding='utf16le'                                                                       *      1.61 %       ±1.57%  ±2.08%  ±2.69%
buffers/buffer-write-string.js n=1000000 len=2048 args='offset' encoding='utf8'                                                                          *      1.25 %       ±0.96%  ±1.27%  ±1.63%
buffers/buffer-write-string.js n=1000000 len=2048 args='offset+length' encoding=''                                                                             -0.24 %       ±0.57%  ±0.75%  ±0.97%
buffers/buffer-write-string.js n=1000000 len=2048 args='offset+length' encoding='ascii'                                                                        -0.10 %       ±2.49%  ±3.29%  ±4.24%
buffers/buffer-write-string.js n=1000000 len=2048 args='offset+length' encoding='hex'                                                                          -0.04 %       ±0.13%  ±0.17%  ±0.22%
buffers/buffer-write-string.js n=1000000 len=2048 args='offset+length' encoding='latin1'                                                                        0.44 %       ±2.24%  ±2.97%  ±3.83%
buffers/buffer-write-string.js n=1000000 len=2048 args='offset+length' encoding='utf16le'                                                              ***      2.20 %       ±1.24%  ±1.64%  ±2.11%
buffers/buffer-write-string.js n=1000000 len=2048 args='offset+length' encoding='utf8'                                                                         -0.13 %       ±0.76%  ±1.01%  ±1.30%
buffers/buffer-write.js n=1000000 type='BigInt64BE' buffer='fast'                                                                                              -0.15 %       ±1.46%  ±1.93%  ±2.49%
buffers/buffer-write.js n=1000000 type='BigInt64LE' buffer='fast'                                                                                              -0.81 %       ±1.19%  ±1.58%  ±2.03%
buffers/buffer-write.js n=1000000 type='BigUInt64BE' buffer='fast'                                                                                             -1.06 %       ±1.38%  ±1.83%  ±2.36%
buffers/buffer-write.js n=1000000 type='BigUInt64LE' buffer='fast'                                                                                      **     -1.76 %       ±1.18%  ±1.56%  ±2.01%
buffers/buffer-write.js n=1000000 type='DoubleBE' buffer='fast'                                                                                                 2.22 %       ±9.00% ±11.90% ±15.34%
buffers/buffer-write.js n=1000000 type='DoubleLE' buffer='fast'                                                                                                 1.35 %       ±9.18% ±12.13% ±15.64%
buffers/buffer-write.js n=1000000 type='FloatBE' buffer='fast'                                                                                                 -1.53 %      ±11.45% ±15.13% ±19.51%
buffers/buffer-write.js n=1000000 type='FloatLE' buffer='fast'                                                                                                  3.21 %      ±11.49% ±15.20% ±19.59%
buffers/buffer-write.js n=1000000 type='Int16BE' buffer='fast'                                                                                                 -4.43 %       ±9.91% ±13.11% ±16.90%
buffers/buffer-write.js n=1000000 type='Int16LE' buffer='fast'                                                                                                 -9.43 %      ±10.06% ±13.30% ±17.14%
buffers/buffer-write.js n=1000000 type='Int32BE' buffer='fast'                                                                                                  3.78 %      ±12.57% ±16.62% ±21.43%
buffers/buffer-write.js n=1000000 type='Int32LE' buffer='fast'                                                                                                 10.68 %      ±13.18% ±17.42% ±22.46%
buffers/buffer-write.js n=1000000 type='Int8' buffer='fast'                                                                                              *     -7.04 %       ±6.72%  ±8.88% ±11.45%
buffers/buffer-write.js n=1000000 type='IntBE' buffer='fast'                                                                                                   -3.08 %       ±6.77%  ±8.95% ±11.54%
buffers/buffer-write.js n=1000000 type='IntLE' buffer='fast'                                                                                                   -6.37 %       ±7.16%  ±9.46% ±12.20%
buffers/buffer-write.js n=1000000 type='UInt16BE' buffer='fast'                                                                                                 0.07 %      ±10.55% ±13.95% ±17.99%
buffers/buffer-write.js n=1000000 type='UInt16LE' buffer='fast'                                                                                                 0.20 %      ±10.68% ±14.12% ±18.21%
buffers/buffer-write.js n=1000000 type='UInt32BE' buffer='fast'                                                                                                -6.04 %       ±8.52% ±11.26% ±14.52%
buffers/buffer-write.js n=1000000 type='UInt32LE' buffer='fast'                                                                                                 2.93 %       ±8.60% ±11.37% ±14.66%
buffers/buffer-write.js n=1000000 type='UInt8' buffer='fast'                                                                                                   10.91 %      ±11.31% ±14.95% ±19.27%
buffers/buffer-write.js n=1000000 type='UIntBE' buffer='fast'                                                                                                   0.76 %       ±8.96% ±11.85% ±15.27%
buffers/buffer-write.js n=1000000 type='UIntLE' buffer='fast'                                                                                                  -3.33 %       ±8.55% ±11.31% ±14.57%
buffers/buffer-zero.js type='buffer' n=1000000                                                                                                                  0.21 %       ±1.55%  ±2.05%  ±2.65%
buffers/buffer-zero.js type='string' n=1000000                                                                                                                 -0.98 %       ±2.42%  ±3.20%  ±4.13%
buffers/dataview-set.js n=1000000 type='Float32BE'                                                                                                             -1.36 %       ±3.55%  ±4.70%  ±6.07%
buffers/dataview-set.js n=1000000 type='Float32LE'                                                                                                              0.33 %       ±3.70%  ±4.89%  ±6.30%
buffers/dataview-set.js n=1000000 type='Float64BE'                                                                                                             -0.39 %       ±3.78%  ±5.00%  ±6.45%
buffers/dataview-set.js n=1000000 type='Float64LE'                                                                                                      **     -5.63 %       ±3.67%  ±4.87%  ±6.29%
buffers/dataview-set.js n=1000000 type='Int16BE'                                                                                                               -1.19 %       ±2.84%  ±3.76%  ±4.84%
buffers/dataview-set.js n=1000000 type='Int16LE'                                                                                                               -0.75 %       ±2.68%  ±3.54%  ±4.56%
buffers/dataview-set.js n=1000000 type='Int32BE'                                                                                                                0.22 %       ±2.25%  ±2.98%  ±3.84%
buffers/dataview-set.js n=1000000 type='Int32LE'                                                                                                               -1.38 %       ±2.17%  ±2.87%  ±3.69%
buffers/dataview-set.js n=1000000 type='Int8'                                                                                                                  -0.38 %       ±2.24%  ±2.97%  ±3.84%
buffers/dataview-set.js n=1000000 type='Uint16BE'                                                                                                              -1.44 %       ±2.47%  ±3.27%  ±4.21%
buffers/dataview-set.js n=1000000 type='Uint16LE'                                                                                                              -2.42 %       ±2.52%  ±3.34%  ±4.30%
buffers/dataview-set.js n=1000000 type='Uint32BE'                                                                                                               0.49 %       ±2.14%  ±2.83%  ±3.66%
buffers/dataview-set.js n=1000000 type='Uint32LE'                                                                                                               0.22 %       ±1.44%  ±1.90%  ±2.45%
buffers/dataview-set.js n=1000000 type='Uint8'                                                                                                                  1.02 %       ±2.38%  ±3.14%  ±4.05%

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

@mertcanaltin
Copy link
Member Author

mertcanaltin commented Mar 8, 2026

https://ci.nodejs.org/view/Node.js%20benchmark/job/benchmark-node-micro-benchmarks/1810/

Thanks for re-running,

I searching now how to solve regression for small string and, this need a extra branch (if condition) but this is a to mean regression for small strings (repeat=1), because I need this question, (this string is big?), this to mean extra branch

only have a alternative, use has v8 Utf8LengthV2, I will try create issue for small strings simdutf use in V8

@mertcanaltin
Copy link
Member Author

Instead, we backported it to V8, so I'm closing this pr.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

buffer Issues and PRs related to the buffer subsystem. c++ Issues and PRs that require attention from people who are familiar with C++. needs-ci PRs that need a full CI run. performance Issues and PRs related to the performance of Node.js.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants