Skip to content

buffer: refactor to use more primordials - #36166

Merged
aduh95 merged 1 commit into
nodejs:masterfrom
aduh95:buffer-primordials
Dec 1, 2020
Merged

buffer: refactor to use more primordials#36166
aduh95 merged 1 commit into
nodejs:masterfrom
aduh95:buffer-primordials

Conversation

@aduh95

Copy link
Copy Markdown
Contributor
Checklist
  • make -j4 test (UNIX), or vcbuild test (Windows) passes
  • commit message follows commit guidelines

@nodejs-github-botnodejs-github-bot added the buffer Issues and PRs related to the buffer subsystem. label Nov 18, 2020
mscdex
mscdex previously requested changes Nov 19, 2020

@mscdexmscdex left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

The changes in this PR seems to be causing some noticeable regressions across multiple benchmark runs for fill() as seen in these benchmark results for example:

buffers/buffer-fill.js n=20000 size=8192 type='fill(0)' *** -31.61 % ±5.72% ±7.65% ±10.04%
buffers/buffer-fill.js n=20000 size=8192 type='fill(100)' *** -31.92 % ±3.21% ±4.28% ±5.59%
buffers/buffer-fill.js n=20000 size=8192 type='fill(400)' *** -32.13 % ±4.27% ±5.69% ±7.43%
buffers/buffer-fill.js n=20000 size=8192 type='fill("t", 0, "utf8")' *** -9.67 % ±5.14% ±6.84% ±8.90%
buffers/buffer-fill.js n=20000 size=8192 type='fill("t", "utf8")' *** -11.96 % ±5.80% ±7.71% ±10.05%

@mscdexmscdex mentioned this pull request Nov 21, 2020
2 tasks
@aduh95

aduh95 commented Nov 22, 2020

Copy link
Copy Markdown
ContributorAuthor

I've removed the use of ReflectApply to use uncurryThis from #36221, and ran a benchmark:

 confidence improvement accuracy (*) (**) (***)
buffers-fill/buffer-fill.js n=20000 size=65536 type='fill("")' -1.12 % ±1.52% ±2.03% ±2.66%
buffers-fill/buffer-fill.js n=20000 size=65536 type='fill("t", "utf8")' 1.53 % ±2.56% ±3.44% ±4.54%
buffers-fill/buffer-fill.js n=20000 size=65536 type='fill("t", 0, "utf8")' 0.24 % ±1.65% ±2.20% ±2.89%
buffers-fill/buffer-fill.js n=20000 size=65536 type='fill("t", 0)' 1.37 % ±1.58% ±2.11% ±2.78%
buffers-fill/buffer-fill.js n=20000 size=65536 type='fill("t")' -0.59 % ±1.21% ±1.62% ±2.12%
buffers-fill/buffer-fill.js n=20000 size=65536 type='fill("test")' * -0.52 % ±0.51% ±0.68% ±0.89%
buffers-fill/buffer-fill.js n=20000 size=65536 type='fill(0)' 0.45 % ±1.27% ±1.70% ±2.21%
buffers-fill/buffer-fill.js n=20000 size=65536 type='fill(100)' 0.53 % ±1.44% ±1.92% ±2.51%
buffers-fill/buffer-fill.js n=20000 size=65536 type='fill(400)' -0.49 % ±1.06% ±1.41% ±1.84%
buffers-fill/buffer-fill.js n=20000 size=65536 type='fill(Buffer.alloc(1), 0)' 1.41 % ±1.63% ±2.18% ±2.87%
buffers-fill/buffer-fill.js n=20000 size=8192 type='fill("")' -0.84 % ±1.70% ±2.27% ±2.97%
buffers-fill/buffer-fill.js n=20000 size=8192 type='fill("t", "utf8")' 0.28 % ±3.63% ±4.83% ±6.29%
buffers-fill/buffer-fill.js n=20000 size=8192 type='fill("t", 0, "utf8")' 0.25 % ±2.00% ±2.66% ±3.46%
buffers-fill/buffer-fill.js n=20000 size=8192 type='fill("t", 0)' 0.54 % ±2.03% ±2.73% ±3.61%
buffers-fill/buffer-fill.js n=20000 size=8192 type='fill("t")' -0.51 % ±1.20% ±1.61% ±2.12%
buffers-fill/buffer-fill.js n=20000 size=8192 type='fill("test")' -0.01 % ±0.72% ±0.96% ±1.25%
buffers-fill/buffer-fill.js n=20000 size=8192 type='fill(0)' 0.51 % ±1.51% ±2.03% ±2.68%
buffers-fill/buffer-fill.js n=20000 size=8192 type='fill(100)' -0.28 % ±1.25% ±1.68% ±2.22%
buffers-fill/buffer-fill.js n=20000 size=8192 type='fill(400)' 0.12 % ±0.65% ±0.87% ±1.14%
buffers-fill/buffer-fill.js n=20000 size=8192 type='fill(Buffer.alloc(1), 0)' * 2.80 % ±2.29% ±3.05% ±3.99%

EDIT: I wasn't comparing to master! The above table shows the comparison between master (cde87ed) and this PR on top of #36221.

@mscdexmscdex mentioned this pull request Nov 22, 2020
2 tasks
@aduh95

Copy link
Copy Markdown
ContributorAuthor

Benchmark CI: https://ci.nodejs.org/view/Node.js%20benchmark/job/benchmark-node-micro-benchmarks/707/ (queued, will 404 until it starts)

@aduh95

Copy link
Copy Markdown
ContributorAuthor

The benchmark results are here:

 confidence improvement accuracy (*) (**) (***)
buffers/buffer-base64-decode-wrapped.js n=32 linesCount=524288 charsPerLine=76 * -1.96 % ±1.75% ±2.33% ±3.03%
buffers/buffer-concat.js n=800000 withTotalLength=0 pieceSize=256 pieces=4 ** 8.24 % ±5.86% ±7.81% ±10.18%
buffers/buffer-creation.js n=600000 len=1024 type='fast-alloc-fill' * -5.32 % ±5.19% ±6.91% ±9.00%
buffers/buffer-fill.js n=20000 size=65536 type='fill("t", 0, "utf8")' * 2.98 % ±2.80% ±3.74% ±4.88%
buffers/buffer-from.js n=800000 len=2048 source='string' * 17.24 % ±14.03% ±18.67% ±24.31%
buffers/buffer-from.js n=800000 len=2048 source='uint8array' * 6.40 % ±5.87% ±7.81% ±10.17%
buffers/buffer-indexof.js n=50000 type='buffer' encoding='ucs2' search='neighbouring pool' * 1.98 % ±1.92% ±2.55% ±3.33%
buffers/buffer-indexof.js n=50000 type='string' encoding='ucs2' search='@' * -4.96 % ±4.57% ±6.10% ±7.97%
buffers/buffer-indexof.js n=50000 type='string' encoding='ucs2' search='found it very' ** 1.78 % ±1.27% ±1.69% ±2.21%
buffers/buffer-indexof.js n=50000 type='string' encoding='utf8' search='aaaaaaaaaaaaaaaaa' * -2.81 % ±2.42% ±3.22% ±4.19%
buffers/buffer-normalize-encoding.js n=1000000 encoding='latin1' * 8.80 % ±8.77% ±11.78% ±15.54%
buffers/buffer-read-with-byteLength.js byteLength=1 n=1000000 type='UIntBE' buffer='fast' * 4.30 % ±4.01% ±5.34% ±6.96%
buffers/buffer-read-with-byteLength.js byteLength=2 n=1000000 type='UIntBE' buffer='fast' * 4.70 % ±3.86% ±5.14% ±6.71%
buffers/buffer-swap.js n=1000000 len=64 method='swap32' aligned='true' * 7.99 % ±6.39% ±8.51% ±11.09%
buffers/buffer-swap.js n=1000000 len=64 method='swap64' aligned='true' * 2.94 % ±2.69% ±3.62% ±4.79%
buffers/buffer-tostring.js n=1000000 len=1 args=3 encoding='ascii' * 5.02 % ±4.55% ±6.12% ±8.10%
buffers/buffer-tostring.js n=1000000 len=64 args=3 encoding='ascii' * 1.76 % ±1.58% ±2.11% ±2.74%
buffers/buffer-write.js n=1000000 type='BigInt64LE' buffer='fast' * -1.82 % ±1.69% ±2.25% ±2.92%
buffers/buffer-write.js n=1000000 type='UIntBE' buffer='fast' * 8.34 % ±7.10% ±9.51% ±12.51%
buffers/buffer-write.js n=1000000 type='UIntLE' buffer='fast' * 5.75 % ±5.38% ±7.18% ±9.39%
buffers/buffer-zero.js type='buffer' n=1000000 ** -4.11 % ±2.92% ±3.88% ±5.06%
buffers/dataview-set.js n=1000000 type='Int32BE' * -4.78 % ±4.69% ±6.25% ±8.15%
buffers/dataview-set.js n=1000000 type='Uint16BE' * -6.31 % ±5.25% ±7.02% ±9.21%
Details
 confidence improvement accuracy (*) (**) (***)
buffers/buffer-base64-decode.js size=8388608 n=32 0.85 % ±1.47% ±1.96% ±2.56%
buffers/buffer-base64-decode-wrapped.js n=32 linesCount=524288 charsPerLine=76 * -1.96 % ±1.75% ±2.33% ±3.03%
buffers/buffer-base64-encode.js n=32 len=67108864 0.30 % ±4.09% ±5.45% ±7.10%
buffers/buffer-bytelength.js n=4000000 len=16 encoding='base64' -0.10 % ±1.26% ±1.68% ±2.19%
buffers/buffer-bytelength.js n=4000000 len=16 encoding='buffer' -4.41 % ±6.55% ±8.80% ±11.62%
buffers/buffer-bytelength.js n=4000000 len=16 encoding='utf8' -1.38 % ±2.70% ±3.62% ±4.77%
buffers/buffer-bytelength.js n=4000000 len=256 encoding='base64' 0.71 % ±4.22% ±5.68% ±7.53%
buffers/buffer-bytelength.js n=4000000 len=256 encoding='buffer' 0.67 % ±3.33% ±4.43% ±5.78%
buffers/buffer-bytelength.js n=4000000 len=256 encoding='utf8' 0.09 % ±0.81% ±1.08% ±1.40%
buffers/buffer-bytelength.js n=4000000 len=2 encoding='base64' 3.70 % ±4.89% ±6.58% ±8.71%
buffers/buffer-bytelength.js n=4000000 len=2 encoding='buffer' 2.35 % ±2.86% ±3.80% ±4.95%
buffers/buffer-bytelength.js n=4000000 len=2 encoding='utf8' 0.32 % ±1.43% ±1.90% ±2.47%
buffers/buffer-compare-instance-method.js n=1000000 args=1 size=16 -0.24 % ±3.07% ±4.08% ±5.32%
buffers/buffer-compare-instance-method.js n=1000000 args=1 size=16386 -1.96 % ±3.11% ±4.16% ±5.46%
buffers/buffer-compare-instance-method.js n=1000000 args=1 size=4096 -1.13 % ±2.19% ±2.94% ±3.86%
buffers/buffer-compare-instance-method.js n=1000000 args=1 size=512 -0.76 % ±1.69% ±2.25% ±2.93%
buffers/buffer-compare-instance-method.js n=1000000 args=2 size=16 -2.84 % ±3.27% ±4.36% ±5.69%
buffers/buffer-compare-instance-method.js n=1000000 args=2 size=16386 -3.54 % ±4.36% ±5.81% ±7.59%
buffers/buffer-compare-instance-method.js n=1000000 args=2 size=4096 0.82 % ±1.01% ±1.35% ±1.76%
buffers/buffer-compare-instance-method.js n=1000000 args=2 size=512 -2.54 % ±3.40% ±4.57% ±6.04%
buffers/buffer-compare-instance-method.js n=1000000 args=5 size=16 -2.96 % ±5.17% ±6.96% ±9.21%
buffers/buffer-compare-instance-method.js n=1000000 args=5 size=16386 -2.43 % ±4.11% ±5.47% ±7.14%
buffers/buffer-compare-instance-method.js n=1000000 args=5 size=4096 -2.48 % ±4.69% ±6.32% ±8.37%
buffers/buffer-compare-instance-method.js n=1000000 args=5 size=512 0.69 % ±1.00% ±1.34% ±1.75%
buffers/buffer-compare.js n=1000000 size=16 -2.04 % ±3.72% ±4.95% ±6.45%
buffers/buffer-compare.js n=1000000 size=16386 0.83 % ±3.50% ±4.67% ±6.11%
buffers/buffer-compare.js n=1000000 size=4096 1.22 % ±1.73% ±2.30% ±3.00%
buffers/buffer-compare.js n=1000000 size=512 0.55 % ±2.02% ±2.70% ±3.55%
buffers/buffer-compare-offset.js n=1000000 size=16386 method='offset' -0.17 % ±0.85% ±1.13% ±1.46%
buffers/buffer-compare-offset.js n=1000000 size=16386 method='slice' 0.92 % ±1.54% ±2.05% ±2.69%
buffers/buffer-compare-offset.js n=1000000 size=16 method='offset' -0.85 % ±2.55% ±3.39% ±4.42%
buffers/buffer-compare-offset.js n=1000000 size=16 method='slice' -0.20 % ±2.54% ±3.37% ±4.39%
buffers/buffer-compare-offset.js n=1000000 size=4096 method='offset' -0.85 % ±2.13% ±2.83% ±3.69%
buffers/buffer-compare-offset.js n=1000000 size=4096 method='slice' -1.38 % ±3.83% ±5.15% ±6.79%
buffers/buffer-compare-offset.js n=1000000 size=512 method='offset' -0.07 % ±0.89% ±1.19% ±1.55%
buffers/buffer-compare-offset.js n=1000000 size=512 method='slice' 0.78 % ±1.29% ±1.71% ±2.23%
buffers/buffer-concat-fill.js n=800000 extraSize=1 1.21 % ±7.55% ±10.06% ±13.13%
buffers/buffer-concat-fill.js n=800000 extraSize=1024 2.00 % ±8.53% ±11.36% ±14.78%
buffers/buffer-concat-fill.js n=800000 extraSize=256 0.64 % ±8.44% ±11.23% ±14.62%
buffers/buffer-concat.js n=800000 withTotalLength=0 pieceSize=16 pieces=16 1.99 % ±5.16% ±6.87% ±8.96%
buffers/buffer-concat.js n=800000 withTotalLength=0 pieceSize=16 pieces=4 -3.21 % ±5.70% ±7.59% ±9.88%
buffers/buffer-concat.js n=800000 withTotalLength=0 pieceSize=1 pieces=16 -0.42 % ±2.45% ±3.28% ±4.32%
buffers/buffer-concat.js n=800000 withTotalLength=0 pieceSize=1 pieces=4 -1.28 % ±5.92% ±7.87% ±10.24%
buffers/buffer-concat.js n=800000 withTotalLength=0 pieceSize=256 pieces=16 -0.27 % ±3.99% ±5.32% ±6.92%
buffers/buffer-concat.js n=800000 withTotalLength=0 pieceSize=256 pieces=4 ** 8.24 % ±5.86% ±7.81% ±10.18%
buffers/buffer-concat.js n=800000 withTotalLength=1 pieceSize=16 pieces=16 -0.56 % ±5.07% ±6.75% ±8.79%
buffers/buffer-concat.js n=800000 withTotalLength=1 pieceSize=16 pieces=4 -0.07 % ±5.07% ±6.74% ±8.78%
buffers/buffer-concat.js n=800000 withTotalLength=1 pieceSize=1 pieces=16 -6.27 % ±6.89% ±9.27% ±12.29%
buffers/buffer-concat.js n=800000 withTotalLength=1 pieceSize=1 pieces=4 0.95 % ±3.51% ±4.67% ±6.08%
buffers/buffer-concat.js n=800000 withTotalLength=1 pieceSize=256 pieces=16 2.92 % ±6.87% ±9.18% ±12.03%
buffers/buffer-concat.js n=800000 withTotalLength=1 pieceSize=256 pieces=4 0.72 % ±5.73% ±7.62% ±9.92%
buffers/buffer-copy.js n=6000000 partial='false' bytes=0 -2.29 % ±3.26% ±4.33% ±5.65%
buffers/buffer-copy.js n=6000000 partial='false' bytes=128 -1.03 % ±5.26% ±7.08% ±9.35%
buffers/buffer-copy.js n=6000000 partial='false' bytes=32768 -1.23 % ±2.29% ±3.07% ±4.07%
buffers/buffer-copy.js n=6000000 partial='false' bytes=8 -1.10 % ±1.48% ±1.97% ±2.57%
buffers/buffer-copy.js n=6000000 partial='true' bytes=0 -1.62 % ±3.42% ±4.55% ±5.92%
buffers/buffer-copy.js n=6000000 partial='true' bytes=128 1.61 % ±1.84% ±2.46% ±3.24%
buffers/buffer-copy.js n=6000000 partial='true' bytes=32768 -4.89 % ±6.45% ±8.68% ±11.51%
buffers/buffer-copy.js n=6000000 partial='true' bytes=8 -1.16 % ±1.24% ±1.65% ±2.15%
buffers/buffer-creation.js n=600000 len=1024 type='fast-alloc' 2.29 % ±5.08% ±6.77% ±8.82%
buffers/buffer-creation.js n=600000 len=1024 type='fast-alloc-fill' * -5.32 % ±5.19% ±6.91% ±9.00%
buffers/buffer-creation.js n=600000 len=1024 type='fast-allocUnsafe' 1.96 % ±6.09% ±8.11% ±10.56%
buffers/buffer-creation.js n=600000 len=1024 type='slow-allocUnsafe' 0.06 % ±4.57% ±6.08% ±7.91%
buffers/buffer-creation.js n=600000 len=10 type='fast-alloc' -1.66 % ±9.91% ±13.19% ±17.18%
buffers/buffer-creation.js n=600000 len=10 type='fast-alloc-fill' 0.58 % ±10.63% ±14.16% ±18.47%
buffers/buffer-creation.js n=600000 len=10 type='fast-allocUnsafe' 4.46 % ±12.62% ±16.79% ±21.86%
buffers/buffer-creation.js n=600000 len=10 type='slow-allocUnsafe' 1.09 % ±8.09% ±10.79% ±14.09%
buffers/buffer-creation.js n=600000 len=4096 type='fast-alloc' 0.28 % ±3.74% ±4.98% ±6.50%
buffers/buffer-creation.js n=600000 len=4096 type='fast-alloc-fill' -2.64 % ±4.61% ±6.14% ±7.99%
buffers/buffer-creation.js n=600000 len=4096 type='fast-allocUnsafe' -5.20 % ±6.37% ±8.50% ±11.12%
buffers/buffer-creation.js n=600000 len=4096 type='slow-allocUnsafe' 0.88 % ±5.62% ±7.48% ±9.74%
buffers/buffer-creation.js n=600000 len=8192 type='fast-alloc' -0.55 % ±3.74% ±4.98% ±6.48%
buffers/buffer-creation.js n=600000 len=8192 type='fast-alloc-fill' 0.28 % ±3.90% ±5.20% ±6.77%
buffers/buffer-creation.js n=600000 len=8192 type='fast-allocUnsafe' 0.39 % ±5.07% ±6.76% ±8.82%
buffers/buffer-creation.js n=600000 len=8192 type='slow-allocUnsafe' 0.32 % ±4.89% ±6.51% ±8.48%
buffers/buffer-equals.js n=1000000 difflen='false' size=0 -2.87 % ±5.66% ±7.53% ±9.82%
buffers/buffer-equals.js n=1000000 difflen='false' size=16386 -0.92 % ±2.11% ±2.80% ±3.65%
buffers/buffer-equals.js n=1000000 difflen='false' size=512 -1.59 % ±3.42% ±4.60% ±6.08%
buffers/buffer-equals.js n=1000000 difflen='true' size=0 -2.24 % ±4.91% ±6.55% ±8.55%
buffers/buffer-equals.js n=1000000 difflen='true' size=16386 3.51 % ±3.65% ±4.87% ±6.35%
buffers/buffer-equals.js n=1000000 difflen='true' size=512 0.79 % ±4.71% ±6.27% ±8.15%
buffers/buffer-fill.js n=20000 size=65536 type='fill("")' 0.01 % ±3.26% ±4.34% ±5.65%
buffers/buffer-fill.js n=20000 size=65536 type='fill(0)' 2.65 % ±3.66% ±4.87% ±6.33%
buffers/buffer-fill.js n=20000 size=65536 type='fill(100)' 0.28 % ±3.41% ±4.54% ±5.92%
buffers/buffer-fill.js n=20000 size=65536 type='fill(400)' -2.20 % ±3.60% ±4.79% ±6.25%
buffers/buffer-fill.js n=20000 size=65536 type='fill(Buffer.alloc(1), 0)' -1.03 % ±4.21% ±5.60% ±7.29%
buffers/buffer-fill.js n=20000 size=65536 type='fill("t")' -2.81 % ±3.22% ±4.29% ±5.58%
buffers/buffer-fill.js n=20000 size=65536 type='fill("t", 0)' 2.00 % ±3.55% ±4.73% ±6.16%
buffers/buffer-fill.js n=20000 size=65536 type='fill("t", 0, "utf8")' * 2.98 % ±2.80% ±3.74% ±4.88%
buffers/buffer-fill.js n=20000 size=65536 type='fill("test")' -0.02 % ±3.97% ±5.28% ±6.88%
buffers/buffer-fill.js n=20000 size=65536 type='fill("t", "utf8")' -0.24 % ±3.58% ±4.77% ±6.22%
buffers/buffer-fill.js n=20000 size=8192 type='fill("")' -5.55 % ±5.55% ±7.39% ±9.63%
buffers/buffer-fill.js n=20000 size=8192 type='fill(0)' 4.56 % ±5.82% ±7.75% ±10.10%
buffers/buffer-fill.js n=20000 size=8192 type='fill(100)' 5.59 % ±5.60% ±7.48% ±9.78%
buffers/buffer-fill.js n=20000 size=8192 type='fill(400)' 1.59 % ±5.43% ±7.23% ±9.43%
buffers/buffer-fill.js n=20000 size=8192 type='fill(Buffer.alloc(1), 0)' -2.22 % ±5.05% ±6.72% ±8.75%
buffers/buffer-fill.js n=20000 size=8192 type='fill("t")' -4.07 % ±4.85% ±6.47% ±8.45%
buffers/buffer-fill.js n=20000 size=8192 type='fill("t", 0)' 2.60 % ±3.08% ±4.11% ±5.36%
buffers/buffer-fill.js n=20000 size=8192 type='fill("t", 0, "utf8")' -3.55 % ±6.05% ±8.07% ±10.55%
buffers/buffer-fill.js n=20000 size=8192 type='fill("test")' -1.61 % ±4.80% ±6.39% ±8.31%
buffers/buffer-fill.js n=20000 size=8192 type='fill("t", "utf8")' -4.33 % ±6.48% ±8.62% ±11.22%
buffers/buffer-from.js n=800000 len=100 source='array' -2.32 % ±10.15% ±13.50% ±17.58%
buffers/buffer-from.js n=800000 len=100 source='arraybuffer' -0.62 % ±4.22% ±5.62% ±7.31%
buffers/buffer-from.js n=800000 len=100 source='arraybuffer-middle' 0.56 % ±4.43% ±5.89% ±7.68%
buffers/buffer-from.js n=800000 len=100 source='buffer' 1.99 % ±5.26% ±7.01% ±9.12%
buffers/buffer-from.js n=800000 len=100 source='object' 4.65 % ±7.35% ±9.84% ±12.94%
buffers/buffer-from.js n=800000 len=100 source='string' 4.60 % ±11.25% ±14.98% ±19.53%
buffers/buffer-from.js n=800000 len=100 source='string-base64' 4.59 % ±6.11% ±8.13% ±10.59%
buffers/buffer-from.js n=800000 len=100 source='string-utf8' -2.64 % ±7.50% ±9.98% ±12.99%
buffers/buffer-from.js n=800000 len=100 source='uint16array' -2.08 % ±9.36% ±12.46% ±16.22%
buffers/buffer-from.js n=800000 len=100 source='uint8array' 0.33 % ±3.84% ±5.11% ±6.65%
buffers/buffer-from.js n=800000 len=2048 source='array' -10.49 % ±11.07% ±14.73% ±19.17%
buffers/buffer-from.js n=800000 len=2048 source='arraybuffer' 2.95 % ±4.97% ±6.62% ±8.63%
buffers/buffer-from.js n=800000 len=2048 source='arraybuffer-middle' -1.40 % ±5.11% ±6.80% ±8.86%
buffers/buffer-from.js n=800000 len=2048 source='buffer' 0.20 % ±7.62% ±10.14% ±13.21%
buffers/buffer-from.js n=800000 len=2048 source='object' -2.84 % ±4.55% ±6.06% ±7.88%
buffers/buffer-from.js n=800000 len=2048 source='string' * 17.24 % ±14.03% ±18.67% ±24.31%
buffers/buffer-from.js n=800000 len=2048 source='string-base64' -4.67 % ±10.56% ±14.05% ±18.29%
buffers/buffer-from.js n=800000 len=2048 source='string-utf8' 4.40 % ±13.15% ±17.50% ±22.77%
buffers/buffer-from.js n=800000 len=2048 source='uint16array' 3.32 % ±7.08% ±9.42% ±12.27%
buffers/buffer-from.js n=800000 len=2048 source='uint8array' * 6.40 % ±5.87% ±7.81% ±10.17%
buffers/buffer-hex.js n=1000000 len=1024 11.30 % ±15.55% ±20.70% ±26.96%
buffers/buffer-hex.js n=1000000 len=64 0.01 % ±7.36% ±9.81% ±12.82%
buffers/buffer-indexof.js n=50000 type='buffer' encoding='ucs2' search='@' 1.92 % ±4.61% ±6.13% ±7.98%
buffers/buffer-indexof.js n=50000 type='buffer' encoding='ucs2' search='aaaaaaaaaaaaaaaaa' -0.44 % ±4.28% ±5.70% ±7.43%
buffers/buffer-indexof.js n=50000 type='buffer' encoding='ucs2' search='Alice' -0.20 % ±4.66% ±6.20% ±8.07%
buffers/buffer-indexof.js n=50000 type='buffer' encoding='ucs2' search='found it very' -1.36 % ±1.50% ±2.00% ±2.60%
buffers/buffer-indexof.js n=50000 type='buffer' encoding='ucs2' search='Gryphon' 0.54 % ±1.67% ±2.23% ±2.91%
buffers/buffer-indexof.js n=50000 type='buffer' encoding='ucs2' search='</i> to the Caterpillar' 0.30 % ±2.02% ±2.68% ±3.49%
buffers/buffer-indexof.js n=50000 type='buffer' encoding='ucs2' search='--l' -1.13 % ±2.64% ±3.53% ±4.61%
buffers/buffer-indexof.js n=50000 type='buffer' encoding='ucs2' search='neighbouring pool' * 1.98 % ±1.92% ±2.55% ±3.33%
buffers/buffer-indexof.js n=50000 type='buffer' encoding='ucs2' search='Ou est ma chatte?' 0.45 % ±5.10% ±6.79% ±8.84%
buffers/buffer-indexof.js n=50000 type='buffer' encoding='ucs2' search='SQ' -2.63 % ±5.36% ±7.21% ±9.54%
buffers/buffer-indexof.js n=50000 type='buffer' encoding='ucs2' search='venture to go near the house till she had brought herself down to' -0.26 % ±2.13% ±2.85% ±3.73%
buffers/buffer-indexof.js n=50000 type='buffer' encoding='utf8' search='@' -1.91 % ±4.26% ±5.67% ±7.38%
buffers/buffer-indexof.js n=50000 type='buffer' encoding='utf8' search='aaaaaaaaaaaaaaaaa' 0.15 % ±2.23% ±2.97% ±3.87%
buffers/buffer-indexof.js n=50000 type='buffer' encoding='utf8' search='Alice' -9.92 % ±11.20% ±15.03% ±19.84%
buffers/buffer-indexof.js n=50000 type='buffer' encoding='utf8' search='found it very' -0.20 % ±1.81% ±2.41% ±3.14%
buffers/buffer-indexof.js n=50000 type='buffer' encoding='utf8' search='Gryphon' -2.91 % ±4.33% ±5.80% ±7.65%
buffers/buffer-indexof.js n=50000 type='buffer' encoding='utf8' search='</i> to the Caterpillar' -0.20 % ±2.27% ±3.03% ±3.94%
buffers/buffer-indexof.js n=50000 type='buffer' encoding='utf8' search='--l' -1.60 % ±3.45% ±4.63% ±6.11%
buffers/buffer-indexof.js n=50000 type='buffer' encoding='utf8' search='neighbouring pool' 0.40 % ±1.45% ±1.93% ±2.52%
buffers/buffer-indexof.js n=50000 type='buffer' encoding='utf8' search='Ou est ma chatte?' 1.81 % ±5.19% ±6.93% ±9.07%
buffers/buffer-indexof.js n=50000 type='buffer' encoding='utf8' search='SQ' 1.38 % ±2.75% ±3.66% ±4.76%
buffers/buffer-indexof.js n=50000 type='buffer' encoding='utf8' search='venture to go near the house till she had brought herself down to' 1.10 % ±4.67% ±6.23% ±8.12%
buffers/buffer-indexof.js n=50000 type='string' encoding='ucs2' search='@' * -4.96 % ±4.57% ±6.10% ±7.97%
buffers/buffer-indexof.js n=50000 type='string' encoding='ucs2' search='aaaaaaaaaaaaaaaaa' 2.68 % ±5.12% ±6.81% ±8.87%
buffers/buffer-indexof.js n=50000 type='string' encoding='ucs2' search='Alice' -0.52 % ±3.95% ±5.26% ±6.85%
buffers/buffer-indexof.js n=50000 type='string' encoding='ucs2' search='found it very' ** 1.78 % ±1.27% ±1.69% ±2.21%
buffers/buffer-indexof.js n=50000 type='string' encoding='ucs2' search='Gryphon' 6.29 % ±6.48% ±8.71% ±11.52%
buffers/buffer-indexof.js n=50000 type='string' encoding='ucs2' search='</i> to the Caterpillar' -1.11 % ±1.69% ±2.24% ±2.92%
buffers/buffer-indexof.js n=50000 type='string' encoding='ucs2' search='--l' -3.16 % ±5.91% ±7.87% ±10.24%
buffers/buffer-indexof.js n=50000 type='string' encoding='ucs2' search='neighbouring pool' 0.31 % ±2.20% ±2.92% ±3.81%
buffers/buffer-indexof.js n=50000 type='string' encoding='ucs2' search='Ou est ma chatte?' -0.86 % ±6.62% ±8.81% ±11.47%
buffers/buffer-indexof.js n=50000 type='string' encoding='ucs2' search='SQ' -1.33 % ±1.91% ±2.54% ±3.31%
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.85 % ±2.27% ±3.04% ±3.99%
buffers/buffer-indexof.js n=50000 type='string' encoding='utf8' search='@' -2.47 % ±4.22% ±5.62% ±7.32%
buffers/buffer-indexof.js n=50000 type='string' encoding='utf8' search='aaaaaaaaaaaaaaaaa' * -2.81 % ±2.42% ±3.22% ±4.19%
buffers/buffer-indexof.js n=50000 type='string' encoding='utf8' search='Alice' -4.16 % ±8.56% ±11.48% ±15.11%
buffers/buffer-indexof.js n=50000 type='string' encoding='utf8' search='found it very' -0.66 % ±1.40% ±1.86% ±2.43%
buffers/buffer-indexof.js n=50000 type='string' encoding='utf8' search='Gryphon' -0.56 % ±1.94% ±2.59% ±3.36%
buffers/buffer-indexof.js n=50000 type='string' encoding='utf8' search='</i> to the Caterpillar' 0.47 % ±1.62% ±2.16% ±2.82%
buffers/buffer-indexof.js n=50000 type='string' encoding='utf8' search='--l' -0.43 % ±1.17% ±1.55% ±2.02%
buffers/buffer-indexof.js n=50000 type='string' encoding='utf8' search='neighbouring pool' 0.50 % ±1.58% ±2.10% ±2.73%
buffers/buffer-indexof.js n=50000 type='string' encoding='utf8' search='Ou est ma chatte?' 0.69 % ±4.33% ±5.78% ±7.59%
buffers/buffer-indexof.js n=50000 type='string' encoding='utf8' search='SQ' -1.07 % ±3.85% ±5.13% ±6.68%
buffers/buffer-indexof.js n=50000 type='string' encoding='utf8' search='venture to go near the house till she had brought herself down to' -0.63 % ±4.85% ±6.45% ±8.40%
buffers/buffer-indexof-number.js n=1000000 value=64 2.36 % ±2.69% ±3.58% ±4.66%
buffers/buffer-iterate.js n=1000 method='forOf' type='fast' size=16386 2.17 % ±6.03% ±8.09% ±10.64%
buffers/buffer-iterate.js n=1000 method='forOf' type='fast' size=4096 3.06 % ±5.19% ±6.92% ±9.02%
buffers/buffer-iterate.js n=1000 method='forOf' type='fast' size=512 3.97 % ±6.42% ±8.56% ±11.20%
buffers/buffer-iterate.js n=1000 method='for' type='fast' size=16386 1.59 % ±5.00% ±6.65% ±8.66%
buffers/buffer-iterate.js n=1000 method='for' type='fast' size=4096 0.35 % ±5.90% ±7.87% ±10.29%
buffers/buffer-iterate.js n=1000 method='for' type='fast' size=512 2.73 % ±5.77% ±7.68% ±10.00%
buffers/buffer-iterate.js n=1000 method='iterator' type='fast' size=16386 0.01 % ±2.59% ±3.45% ±4.50%
buffers/buffer-iterate.js n=1000 method='iterator' type='fast' size=4096 2.92 % ±4.60% ±6.12% ±7.97%
buffers/buffer-iterate.js n=1000 method='iterator' type='fast' size=512 0.52 % ±5.73% ±7.62% ±9.92%
buffers/buffer-normalize-encoding.js n=1000000 encoding='ascii' -0.58 % ±4.58% ±6.11% ±7.98%
buffers/buffer-normalize-encoding.js n=1000000 encoding='base64' 1.76 % ±6.43% ±8.56% ±11.14%
buffers/buffer-normalize-encoding.js n=1000000 encoding='BASE64' 1.47 % ±4.12% ±5.48% ±7.14%
buffers/buffer-normalize-encoding.js n=1000000 encoding='binary' 1.12 % ±4.24% ±5.65% ±7.35%
buffers/buffer-normalize-encoding.js n=1000000 encoding='hex' 3.43 % ±5.50% ±7.33% ±9.57%
buffers/buffer-normalize-encoding.js n=1000000 encoding='HEX' 2.74 % ±5.46% ±7.27% ±9.49%
buffers/buffer-normalize-encoding.js n=1000000 encoding='latin1' * 8.80 % ±8.77% ±11.78% ±15.54%
buffers/buffer-normalize-encoding.js n=1000000 encoding='LATIN1' -1.70 % ±3.99% ±5.32% ±6.92%
buffers/buffer-normalize-encoding.js n=1000000 encoding='UCS-2' 0.72 % ±3.73% ±4.97% ±6.47%
buffers/buffer-normalize-encoding.js n=1000000 encoding='UCS2' 1.57 % ±3.38% ±4.50% ±5.86%
buffers/buffer-normalize-encoding.js n=1000000 encoding='utf-16le' 0.22 % ±5.89% ±7.83% ±10.19%
buffers/buffer-normalize-encoding.js n=1000000 encoding='utf16le' -0.67 % ±6.31% ±8.40% ±10.93%
buffers/buffer-normalize-encoding.js n=1000000 encoding='UTF-16LE' 9.11 % ±9.34% ±12.52% ±16.47%
buffers/buffer-normalize-encoding.js n=1000000 encoding='UTF16LE' 3.22 % ±4.40% ±5.87% ±7.66%
buffers/buffer-normalize-encoding.js n=1000000 encoding='utf-8' 0.58 % ±4.87% ±6.49% ±8.46%
buffers/buffer-normalize-encoding.js n=1000000 encoding='utf8' 2.14 % ±4.85% ±6.45% ±8.41%
buffers/buffer-normalize-encoding.js n=1000000 encoding='UTF8' -0.50 % ±5.58% ±7.43% ±9.69%
buffers/buffer-read-float.js n=1000000 value='big' endian='LE' type='Double' 1.77 % ±4.82% ±6.44% ±8.42%
buffers/buffer-read-float.js n=1000000 value='big' endian='LE' type='Float' 0.33 % ±4.46% ±5.93% ±7.73%
buffers/buffer-read-float.js n=1000000 value='inf' endian='LE' type='Double' -0.31 % ±5.59% ±7.44% ±9.69%
buffers/buffer-read-float.js n=1000000 value='inf' endian='LE' type='Float' 1.41 % ±3.86% ±5.14% ±6.70%
buffers/buffer-read-float.js n=1000000 value='nan' endian='LE' type='Double' -3.86 % ±5.16% ±6.88% ±8.99%
buffers/buffer-read-float.js n=1000000 value='nan' endian='LE' type='Float' -0.89 % ±4.25% ±5.65% ±7.36%
buffers/buffer-read-float.js n=1000000 value='small' endian='LE' type='Double' -1.52 % ±4.71% ±6.28% ±8.20%
buffers/buffer-read-float.js n=1000000 value='small' endian='LE' type='Float' 0.91 % ±4.99% ±6.64% ±8.65%
buffers/buffer-read-float.js n=1000000 value='zero' endian='LE' type='Double' -0.99 % ±3.86% ±5.14% ±6.70%
buffers/buffer-read-float.js n=1000000 value='zero' endian='LE' type='Float' -1.29 % ±3.63% ±4.84% ±6.30%
buffers/buffer-read.js n=1000000 type='BigInt64BE' buffer='fast' 0.80 % ±2.75% ±3.66% ±4.77%
buffers/buffer-read.js n=1000000 type='BigInt64LE' buffer='fast' 0.92 % ±3.18% ±4.24% ±5.51%
buffers/buffer-read.js n=1000000 type='BigUInt64BE' buffer='fast' 2.92 % ±3.10% ±4.13% ±5.38%
buffers/buffer-read.js n=1000000 type='BigUInt64LE' buffer='fast' -0.33 % ±3.73% ±4.97% ±6.47%
buffers/buffer-read.js n=1000000 type='Int16BE' buffer='fast' 0.91 % ±7.06% ±9.39% ±12.22%
buffers/buffer-read.js n=1000000 type='Int16LE' buffer='fast' 0.29 % ±6.29% ±8.37% ±10.91%
buffers/buffer-read.js n=1000000 type='Int32BE' buffer='fast' -1.73 % ±5.99% ±7.97% ±10.37%
buffers/buffer-read.js n=1000000 type='Int32LE' buffer='fast' -1.09 % ±6.84% ±9.11% ±11.85%
buffers/buffer-read.js n=1000000 type='Int8' buffer='fast' -2.38 % ±7.24% ±9.63% ±12.53%
buffers/buffer-read.js n=1000000 type='UInt16BE' buffer='fast' -5.54 % ±5.58% ±7.44% ±9.73%
buffers/buffer-read.js n=1000000 type='UInt16LE' buffer='fast' 3.01 % ±6.31% ±8.40% ±10.93%
buffers/buffer-read.js n=1000000 type='UInt32BE' buffer='fast' -1.77 % ±6.39% ±8.51% ±11.08%
buffers/buffer-read.js n=1000000 type='UInt32LE' buffer='fast' -3.29 % ±4.68% ±6.24% ±8.15%
buffers/buffer-read.js n=1000000 type='UInt8' buffer='fast' 1.95 % ±5.95% ±7.92% ±10.31%
buffers/buffer-read-with-byteLength.js byteLength=1 n=1000000 type='IntBE' buffer='fast' 1.93 % ±5.56% ±7.41% ±9.67%
buffers/buffer-read-with-byteLength.js byteLength=1 n=1000000 type='IntLE' buffer='fast' -2.80 % ±5.63% ±7.49% ±9.75%
buffers/buffer-read-with-byteLength.js byteLength=1 n=1000000 type='UIntBE' buffer='fast' * 4.30 % ±4.01% ±5.34% ±6.96%
buffers/buffer-read-with-byteLength.js byteLength=1 n=1000000 type='UIntLE' buffer='fast' 1.71 % ±4.53% ±6.04% ±7.87%
buffers/buffer-read-with-byteLength.js byteLength=2 n=1000000 type='IntBE' buffer='fast' -1.98 % ±6.04% ±8.04% ±10.47%
buffers/buffer-read-with-byteLength.js byteLength=2 n=1000000 type='IntLE' buffer='fast' -0.63 % ±5.20% ±6.94% ±9.06%
buffers/buffer-read-with-byteLength.js byteLength=2 n=1000000 type='UIntBE' buffer='fast' * 4.70 % ±3.86% ±5.14% ±6.71%
buffers/buffer-read-with-byteLength.js byteLength=2 n=1000000 type='UIntLE' buffer='fast' 1.33 % ±4.84% ±6.46% ±8.45%
buffers/buffer-read-with-byteLength.js byteLength=3 n=1000000 type='IntBE' buffer='fast' 1.58 % ±5.58% ±7.45% ±9.76%
buffers/buffer-read-with-byteLength.js byteLength=3 n=1000000 type='IntLE' buffer='fast' -1.11 % ±4.75% ±6.32% ±8.23%
buffers/buffer-read-with-byteLength.js byteLength=3 n=1000000 type='UIntBE' buffer='fast' 4.19 % ±5.78% ±7.69% ±10.01%
buffers/buffer-read-with-byteLength.js byteLength=3 n=1000000 type='UIntLE' buffer='fast' -2.56 % ±5.32% ±7.10% ±9.27%
buffers/buffer-read-with-byteLength.js byteLength=4 n=1000000 type='IntBE' buffer='fast' 0.03 % ±4.42% ±5.89% ±7.69%
buffers/buffer-read-with-byteLength.js byteLength=4 n=1000000 type='IntLE' buffer='fast' 2.08 % ±4.09% ±5.45% ±7.09%
buffers/buffer-read-with-byteLength.js byteLength=4 n=1000000 type='UIntBE' buffer='fast' -2.99 % ±5.02% ±6.68% ±8.70%
buffers/buffer-read-with-byteLength.js byteLength=4 n=1000000 type='UIntLE' buffer='fast' -3.02 % ±4.79% ±6.38% ±8.34%
buffers/buffer-read-with-byteLength.js byteLength=5 n=1000000 type='IntBE' buffer='fast' 1.05 % ±4.68% ±6.23% ±8.11%
buffers/buffer-read-with-byteLength.js byteLength=5 n=1000000 type='IntLE' buffer='fast' 0.31 % ±5.29% ±7.04% ±9.16%
buffers/buffer-read-with-byteLength.js byteLength=5 n=1000000 type='UIntBE' buffer='fast' 4.15 % ±5.68% ±7.57% ±9.89%
buffers/buffer-read-with-byteLength.js byteLength=5 n=1000000 type='UIntLE' buffer='fast' 2.89 % ±4.93% ±6.56% ±8.53%
buffers/buffer-read-with-byteLength.js byteLength=6 n=1000000 type='IntBE' buffer='fast' -0.62 % ±5.05% ±6.73% ±8.77%
buffers/buffer-read-with-byteLength.js byteLength=6 n=1000000 type='IntLE' buffer='fast' 2.87 % ±4.81% ±6.42% ±8.40%
buffers/buffer-read-with-byteLength.js byteLength=6 n=1000000 type='UIntBE' buffer='fast' -2.51 % ±6.45% ±8.60% ±11.21%
buffers/buffer-read-with-byteLength.js byteLength=6 n=1000000 type='UIntLE' buffer='fast' 1.60 % ±5.42% ±7.21% ±9.38%
buffers/buffer-slice.js n=1000000 type='fast' -2.30 % ±4.75% ±6.33% ±8.25%
buffers/buffer-slice.js n=1000000 type='slow' -0.66 % ±3.29% ±4.38% ±5.71%
buffers/buffer-swap.js n=1000000 len=1024 method='swap16' aligned='false' -0.32 % ±1.95% ±2.59% ±3.38%
buffers/buffer-swap.js n=1000000 len=1024 method='swap16' aligned='true' -0.38 % ±2.08% ±2.76% ±3.60%
buffers/buffer-swap.js n=1000000 len=1024 method='swap32' aligned='false' -3.66 % ±5.28% ±7.09% ±9.35%
buffers/buffer-swap.js n=1000000 len=1024 method='swap32' aligned='true' -1.88 % ±6.01% ±8.00% ±10.41%
buffers/buffer-swap.js n=1000000 len=1024 method='swap64' aligned='false' 0.50 % ±5.48% ±7.30% ±9.50%
buffers/buffer-swap.js n=1000000 len=1024 method='swap64' aligned='true' 1.17 % ±1.60% ±2.15% ±2.85%
buffers/buffer-swap.js n=1000000 len=2056 method='swap16' aligned='false' -0.93 % ±1.51% ±2.04% ±2.71%
buffers/buffer-swap.js n=1000000 len=2056 method='swap16' aligned='true' 1.50 % ±2.07% ±2.79% ±3.70%
buffers/buffer-swap.js n=1000000 len=2056 method='swap32' aligned='false' 0.27 % ±3.17% ±4.22% ±5.49%
buffers/buffer-swap.js n=1000000 len=2056 method='swap32' aligned='true' -2.75 % ±3.30% ±4.39% ±5.72%
buffers/buffer-swap.js n=1000000 len=2056 method='swap64' aligned='false' 2.51 % ±5.52% ±7.34% ±9.56%
buffers/buffer-swap.js n=1000000 len=2056 method='swap64' aligned='true' 4.48 % ±5.48% ±7.34% ±9.64%
buffers/buffer-swap.js n=1000000 len=256 method='swap16' aligned='false' -2.88 % ±5.36% ±7.21% ±9.54%
buffers/buffer-swap.js n=1000000 len=256 method='swap16' aligned='true' -1.52 % ±4.01% ±5.39% ±7.11%
buffers/buffer-swap.js n=1000000 len=256 method='swap32' aligned='false' 0.67 % ±7.35% ±9.79% ±12.77%
buffers/buffer-swap.js n=1000000 len=256 method='swap32' aligned='true' 0.61 % ±0.92% ±1.22% ±1.59%
buffers/buffer-swap.js n=1000000 len=256 method='swap64' aligned='false' -1.64 % ±8.47% ±11.27% ±14.68%
buffers/buffer-swap.js n=1000000 len=256 method='swap64' aligned='true' 2.21 % ±4.57% ±6.16% ±8.16%
buffers/buffer-swap.js n=1000000 len=64 method='swap16' aligned='false' -4.05 % ±5.77% ±7.78% ±10.33%
buffers/buffer-swap.js n=1000000 len=64 method='swap16' aligned='true' -1.91 % ±6.78% ±9.03% ±11.78%
buffers/buffer-swap.js n=1000000 len=64 method='swap32' aligned='false' 0.03 % ±0.40% ±0.54% ±0.70%
buffers/buffer-swap.js n=1000000 len=64 method='swap32' aligned='true' * 7.99 % ±6.39% ±8.51% ±11.09%
buffers/buffer-swap.js n=1000000 len=64 method='swap64' aligned='false' -1.24 % ±4.89% ±6.53% ±8.54%
buffers/buffer-swap.js n=1000000 len=64 method='swap64' aligned='true' * 2.94 % ±2.69% ±3.62% ±4.79%
buffers/buffer-swap.js n=1000000 len=768 method='swap16' aligned='false' 1.70 % ±3.27% ±4.35% ±5.66%
buffers/buffer-swap.js n=1000000 len=768 method='swap16' aligned='true' 0.29 % ±3.23% ±4.30% ±5.59%
buffers/buffer-swap.js n=1000000 len=768 method='swap32' aligned='false' 2.19 % ±6.31% ±8.47% ±11.18%
buffers/buffer-swap.js n=1000000 len=768 method='swap32' aligned='true' 1.72 % ±2.95% ±3.93% ±5.12%
buffers/buffer-swap.js n=1000000 len=768 method='swap64' aligned='false' 2.32 % ±4.53% ±6.09% ±8.07%
buffers/buffer-swap.js n=1000000 len=768 method='swap64' aligned='true' -0.31 % ±1.04% ±1.39% ±1.81%
buffers/buffer-swap.js n=1000000 len=8192 method='swap16' aligned='false' -1.04 % ±1.46% ±1.96% ±2.58%
buffers/buffer-swap.js n=1000000 len=8192 method='swap16' aligned='true' -0.41 % ±1.06% ±1.42% ±1.87%
buffers/buffer-swap.js n=1000000 len=8192 method='swap32' aligned='false' 1.30 % ±1.99% ±2.68% ±3.55%
buffers/buffer-swap.js n=1000000 len=8192 method='swap32' aligned='true' 0.15 % ±0.26% ±0.35% ±0.47%
buffers/buffer-swap.js n=1000000 len=8192 method='swap64' aligned='false' 0.73 % ±1.34% ±1.80% ±2.39%
buffers/buffer-swap.js n=1000000 len=8192 method='swap64' aligned='true' 0.08 % ±0.22% ±0.30% ±0.39%
buffers/buffer-tojson.js len=0 n=10000 -4.13 % ±7.48% ±10.03% ±13.19%
buffers/buffer-tojson.js len=256 n=10000 0.78 % ±5.64% ±7.51% ±9.77%
buffers/buffer-tojson.js len=4096 n=10000 0.22 % ±3.53% ±4.70% ±6.12%
buffers/buffer-tostring.js n=1000000 len=1024 args=0 encoding='ascii' 0.29 % ±1.61% ±2.15% ±2.79%
buffers/buffer-tostring.js n=1000000 len=1024 args=0 encoding='hex' 0.13 % ±0.94% ±1.24% ±1.62%
buffers/buffer-tostring.js n=1000000 len=1024 args=0 encoding='latin1' -0.80 % ±1.56% ±2.09% ±2.76%
buffers/buffer-tostring.js n=1000000 len=1024 args=0 encoding='UCS-2' -0.02 % ±1.22% ±1.62% ±2.12%
buffers/buffer-tostring.js n=1000000 len=1024 args=0 encoding='utf8' 0.37 % ±2.17% ±2.91% ±3.82%
buffers/buffer-tostring.js n=1000000 len=1024 args=1 encoding='ascii' 1.50 % ±2.70% ±3.62% ±4.77%
buffers/buffer-tostring.js n=1000000 len=1024 args=1 encoding='hex' 0.16 % ±2.08% ±2.77% ±3.61%
buffers/buffer-tostring.js n=1000000 len=1024 args=1 encoding='latin1' -0.94 % ±1.54% ±2.06% ±2.70%
buffers/buffer-tostring.js n=1000000 len=1024 args=1 encoding='UCS-2' 0.86 % ±2.33% ±3.10% ±4.03%
buffers/buffer-tostring.js n=1000000 len=1024 args=1 encoding='utf8' 1.60 % ±2.50% ±3.35% ±4.43%
buffers/buffer-tostring.js n=1000000 len=1024 args=3 encoding='ascii' -0.10 % ±0.93% ±1.24% ±1.61%
buffers/buffer-tostring.js n=1000000 len=1024 args=3 encoding='hex' 1.51 % ±1.97% ±2.63% ±3.43%
buffers/buffer-tostring.js n=1000000 len=1024 args=3 encoding='latin1' -0.65 % ±1.30% ±1.74% ±2.28%
buffers/buffer-tostring.js n=1000000 len=1024 args=3 encoding='UCS-2' 0.30 % ±1.24% ±1.66% ±2.17%
buffers/buffer-tostring.js n=1000000 len=1024 args=3 encoding='utf8' -1.62 % ±3.02% ±4.05% ±5.33%
buffers/buffer-tostring.js n=1000000 len=1 args=0 encoding='ascii' -2.81 % ±3.10% ±4.13% ±5.40%
buffers/buffer-tostring.js n=1000000 len=1 args=0 encoding='hex' 0.22 % ±1.85% ±2.46% ±3.20%
buffers/buffer-tostring.js n=1000000 len=1 args=0 encoding='latin1' -0.11 % ±1.77% ±2.35% ±3.06%
buffers/buffer-tostring.js n=1000000 len=1 args=0 encoding='UCS-2' 2.17 % ±5.53% ±7.38% ±9.64%
buffers/buffer-tostring.js n=1000000 len=1 args=0 encoding='utf8' -0.49 % ±2.16% ±2.88% ±3.75%
buffers/buffer-tostring.js n=1000000 len=1 args=1 encoding='ascii' 0.38 % ±2.33% ±3.11% ±4.05%
buffers/buffer-tostring.js n=1000000 len=1 args=1 encoding='hex' 0.14 % ±1.97% ±2.63% ±3.43%
buffers/buffer-tostring.js n=1000000 len=1 args=1 encoding='latin1' -1.07 % ±2.38% ±3.17% ±4.12%
buffers/buffer-tostring.js n=1000000 len=1 args=1 encoding='UCS-2' 0.56 % ±1.41% ±1.89% ±2.47%
buffers/buffer-tostring.js n=1000000 len=1 args=1 encoding='utf8' -0.11 % ±1.86% ±2.48% ±3.24%
buffers/buffer-tostring.js n=1000000 len=1 args=3 encoding='ascii' * 5.02 % ±4.55% ±6.12% ±8.10%
buffers/buffer-tostring.js n=1000000 len=1 args=3 encoding='hex' -4.52 % ±4.92% ±6.58% ±8.61%
buffers/buffer-tostring.js n=1000000 len=1 args=3 encoding='latin1' 0.07 % ±2.08% ±2.78% ±3.63%
buffers/buffer-tostring.js n=1000000 len=1 args=3 encoding='UCS-2' -1.00 % ±2.15% ±2.86% ±3.72%
buffers/buffer-tostring.js n=1000000 len=1 args=3 encoding='utf8' 1.81 % ±2.26% ±3.02% ±3.93%
buffers/buffer-tostring.js n=1000000 len=64 args=0 encoding='ascii' -0.52 % ±1.94% ±2.59% ±3.37%
buffers/buffer-tostring.js n=1000000 len=64 args=0 encoding='hex' 0.13 % ±4.19% ±5.61% ±7.38%
buffers/buffer-tostring.js n=1000000 len=64 args=0 encoding='latin1' 0.61 % ±1.85% ±2.47% ±3.21%
buffers/buffer-tostring.js n=1000000 len=64 args=0 encoding='UCS-2' 1.48 % ±2.95% ±3.94% ±5.15%
buffers/buffer-tostring.js n=1000000 len=64 args=0 encoding='utf8' 0.66 % ±2.40% ±3.19% ±4.15%
buffers/buffer-tostring.js n=1000000 len=64 args=1 encoding='ascii' 0.65 % ±1.46% ±1.94% ±2.54%
buffers/buffer-tostring.js n=1000000 len=64 args=1 encoding='hex' 0.27 % ±1.58% ±2.10% ±2.73%
buffers/buffer-tostring.js n=1000000 len=64 args=1 encoding='latin1' 0.20 % ±2.10% ±2.80% ±3.66%
buffers/buffer-tostring.js n=1000000 len=64 args=1 encoding='UCS-2' 0.04 % ±1.45% ±1.93% ±2.52%
buffers/buffer-tostring.js n=1000000 len=64 args=1 encoding='utf8' -1.06 % ±2.10% ±2.81% ±3.66%
buffers/buffer-tostring.js n=1000000 len=64 args=3 encoding='ascii' * 1.76 % ±1.58% ±2.11% ±2.74%
buffers/buffer-tostring.js n=1000000 len=64 args=3 encoding='hex' -2.54 % ±4.74% ±6.37% ±8.44%
buffers/buffer-tostring.js n=1000000 len=64 args=3 encoding='latin1' 0.85 % ±2.82% ±3.75% ±4.88%
buffers/buffer-tostring.js n=1000000 len=64 args=3 encoding='UCS-2' -1.54 % ±1.62% ±2.17% ±2.83%
buffers/buffer-tostring.js n=1000000 len=64 args=3 encoding='utf8' -0.90 % ±1.59% ±2.11% ±2.75%
buffers/buffer-write.js n=1000000 type='BigInt64BE' buffer='fast' -3.02 % ±5.33% ±7.19% ±9.53%
buffers/buffer-write.js n=1000000 type='BigInt64LE' buffer='fast' * -1.82 % ±1.69% ±2.25% ±2.92%
buffers/buffer-write.js n=1000000 type='BigUInt64BE' buffer='fast' -1.68 % ±4.70% ±6.32% ±8.38%
buffers/buffer-write.js n=1000000 type='BigUInt64LE' buffer='fast' -0.45 % ±1.35% ±1.81% ±2.37%
buffers/buffer-write.js n=1000000 type='DoubleBE' buffer='fast' -1.47 % ±5.08% ±6.77% ±8.85%
buffers/buffer-write.js n=1000000 type='DoubleLE' buffer='fast' 4.92 % ±5.74% ±7.65% ±9.99%
buffers/buffer-write.js n=1000000 type='FloatBE' buffer='fast' 1.97 % ±5.64% ±7.52% ±9.82%
buffers/buffer-write.js n=1000000 type='FloatLE' buffer='fast' 0.84 % ±5.43% ±7.23% ±9.43%
buffers/buffer-write.js n=1000000 type='Int16BE' buffer='fast' 5.39 % ±6.55% ±8.76% ±11.50%
buffers/buffer-write.js n=1000000 type='Int16LE' buffer='fast' -1.24 % ±5.77% ±7.67% ±9.99%
buffers/buffer-write.js n=1000000 type='Int32BE' buffer='fast' -3.24 % ±5.00% ±6.68% ±8.73%
buffers/buffer-write.js n=1000000 type='Int32LE' buffer='fast' -3.36 % ±4.55% ±6.05% ±7.89%
buffers/buffer-write.js n=1000000 type='Int8' buffer='fast' 5.18 % ±6.46% ±8.63% ±11.30%
buffers/buffer-write.js n=1000000 type='IntBE' buffer='fast' 1.81 % ±4.78% ±6.39% ±8.38%
buffers/buffer-write.js n=1000000 type='IntLE' buffer='fast' 5.20 % ±9.68% ±12.96% ±17.02%
buffers/buffer-write.js n=1000000 type='UInt16BE' buffer='fast' 2.62 % ±5.77% ±7.68% ±10.00%
buffers/buffer-write.js n=1000000 type='UInt16LE' buffer='fast' -1.97 % ±7.18% ±9.61% ±12.60%
buffers/buffer-write.js n=1000000 type='UInt32BE' buffer='fast' -0.06 % ±6.07% ±8.08% ±10.53%
buffers/buffer-write.js n=1000000 type='UInt32LE' buffer='fast' 1.96 % ±5.83% ±7.78% ±10.17%
buffers/buffer-write.js n=1000000 type='UInt8' buffer='fast' 3.15 % ±3.39% ±4.51% ±5.87%
buffers/buffer-write.js n=1000000 type='UIntBE' buffer='fast' * 8.34 % ±7.10% ±9.51% ±12.51%
buffers/buffer-write.js n=1000000 type='UIntLE' buffer='fast' * 5.75 % ±5.38% ±7.18% ±9.39%
buffers/buffer-write-string.js n=1000000 len=2048 args='' encoding='' -0.28 % ±2.35% ±3.14% ±4.09%
buffers/buffer-write-string.js n=1000000 len=2048 args='' encoding='ascii' -2.46 % ±6.50% ±8.67% ±11.35%
buffers/buffer-write-string.js n=1000000 len=2048 args='' encoding='hex' 0.83 % ±1.25% ±1.66% ±2.17%
buffers/buffer-write-string.js n=1000000 len=2048 args='' encoding='latin1' -0.95 % ±2.15% ±2.87% ±3.76%
buffers/buffer-write-string.js n=1000000 len=2048 args='' encoding='utf16le' 0.31 % ±0.82% ±1.09% ±1.41%
buffers/buffer-write-string.js n=1000000 len=2048 args='' encoding='utf8' 0.84 % ±1.76% ±2.35% ±3.06%
buffers/buffer-write-string.js n=1000000 len=2048 args='offset' encoding='' 0.78 % ±1.92% ±2.57% ±3.39%
buffers/buffer-write-string.js n=1000000 len=2048 args='offset' encoding='ascii' -0.08 % ±1.28% ±1.71% ±2.23%
buffers/buffer-write-string.js n=1000000 len=2048 args='offset' encoding='hex' -1.04 % ±2.83% ±3.77% ±4.90%
buffers/buffer-write-string.js n=1000000 len=2048 args='offset' encoding='latin1' -1.22 % ±3.20% ±4.29% ±5.64%
buffers/buffer-write-string.js n=1000000 len=2048 args='offset' encoding='utf16le' -0.20 % ±0.95% ±1.27% ±1.65%
buffers/buffer-write-string.js n=1000000 len=2048 args='offset' encoding='utf8' 1.61 % ±6.30% ±8.41% ±10.99%
buffers/buffer-write-string.js n=1000000 len=2048 args='offset+length' encoding='' 0.31 % ±1.68% ±2.23% ±2.90%
buffers/buffer-write-string.js n=1000000 len=2048 args='offset+length' encoding='ascii' -2.97 % ±3.27% ±4.34% ±5.66%
buffers/buffer-write-string.js n=1000000 len=2048 args='offset+length' encoding='hex' 0.04 % ±2.50% ±3.33% ±4.36%
buffers/buffer-write-string.js n=1000000 len=2048 args='offset+length' encoding='latin1' -0.96 % ±1.19% ±1.58% ±2.06%
buffers/buffer-write-string.js n=1000000 len=2048 args='offset+length' encoding='utf16le' 2.10 % ±3.19% ±4.28% ±5.65%
buffers/buffer-write-string.js n=1000000 len=2048 args='offset+length' encoding='utf8' -0.38 % ±4.25% ±5.66% ±7.39%
buffers/buffer-zero.js type='buffer' n=1000000 ** -4.11 % ±2.92% ±3.88% ±5.06%
buffers/buffer-zero.js type='string' n=1000000 2.42 % ±4.00% ±5.36% ±7.03%
buffers/dataview-set.js n=1000000 type='Float32BE' -2.48 % ±4.58% ±6.10% ±7.94%
buffers/dataview-set.js n=1000000 type='Float32LE' 1.02 % ±4.44% ±5.90% ±7.69%
buffers/dataview-set.js n=1000000 type='Float64BE' 2.42 % ±4.95% ±6.59% ±8.57%
buffers/dataview-set.js n=1000000 type='Float64LE' 1.27 % ±4.52% ±6.01% ±7.83%
buffers/dataview-set.js n=1000000 type='Int16BE' 1.17 % ±4.65% ±6.19% ±8.06%
buffers/dataview-set.js n=1000000 type='Int16LE' -1.31 % ±5.36% ±7.13% ±9.28%
buffers/dataview-set.js n=1000000 type='Int32BE' * -4.78 % ±4.69% ±6.25% ±8.15%
buffers/dataview-set.js n=1000000 type='Int32LE' -0.14 % ±5.66% ±7.54% ±9.83%
buffers/dataview-set.js n=1000000 type='Int8' 0.84 % ±3.72% ±4.95% ±6.45%
buffers/dataview-set.js n=1000000 type='Uint16BE' * -6.31 % ±5.25% ±7.02% ±9.21%
buffers/dataview-set.js n=1000000 type='Uint16LE' 1.76 % ±5.82% ±7.74% ±10.07%
buffers/dataview-set.js n=1000000 type='Uint32BE' -1.71 % ±4.42% ±5.88% ±7.66%
buffers/dataview-set.js n=1000000 type='Uint32LE' -3.91 % ±4.27% ±5.69% ±7.42%
buffers/dataview-set.js n=1000000 type='Uint8' -1.82 % ±3.62% ±4.81% ±6.27%

@mscdex Do you think it's good enough?

@aduh95
aduh95 requested a review from mscdexNovember 25, 2020 18:17
@aduh95aduh95 added the commit-queue Add this label to land a pull request using GitHub Actions. label Dec 1, 2020
@github-actionsgithub-actionsBot added commit-queue-failed An error occurred while landing this pull request using GitHub Actions. and removed commit-queue Add this label to land a pull request using GitHub Actions. labels Dec 1, 2020
@github-actions

Copy link
Copy Markdown
Contributor
Commit Queue failed
- Loading data for nodejs/node/pull/36166
✔ Done loading data for nodejs/node/pull/36166
----------------------------------- PR info ------------------------------------
Title buffer: refactor to use more primordials (#36166)
⚠ Could not retrieve the email or name of the PR author's from user's GitHub profile!
Branch aduh95:buffer-primordials -> nodejs:master
Labels buffer
Commits 3
- buffer: refactor to use more primordials
- fixup! buffer: refactor to use more primordials
- fixup! buffer: refactor to use more primordials
Committers 1
- Antoine du Hamel PR-URL: https://github.com/nodejs/node/pull/36166
Reviewed-By: James M Snell Reviewed-By: Rich Trott ------------------------------ Generated metadata ------------------------------
PR-URL: https://github.com/nodejs/node/pull/36166
Reviewed-By: James M Snell Reviewed-By: Rich Trott --------------------------------------------------------------------------------
✔ Last GitHub Actions successful
✖ No full Jenkins CI runs detected
ℹ Last Benchmark CI on 2020-11-25T13:26:09Z: https://ci.nodejs.org/view/Node.js%20benchmark/job/benchmark-node-micro-benchmarks/707/
- Querying data for job/node-test-pull-request/707/
✔ Last Jenkins CI successful
ℹ This PR was created on Wed, 18 Nov 2020 19:03:38 GMT
✔ Approvals: 2
✔ - James M Snell (@jasnell) (TSC): https://github.com/nodejs/node/pull/36166#pullrequestreview-538673026
✔ - Rich Trott (@Trott) (TSC): https://github.com/nodejs/node/pull/36166#pullrequestreview-540005623
--------------------------------------------------------------------------------
✔ Aborted `git node land` session in /home/runner/work/node/node/.ncu
https://github.com/nodejs/node/actions/runs/394030334

@aduh95aduh95 added the request-ci Add this label to start a Jenkins CI on a PR. label Dec 1, 2020
@github-actionsgithub-actionsBot removed the request-ci Add this label to start a Jenkins CI on a PR. label Dec 1, 2020
@nodejs-github-bot

This comment has been minimized.

@nodejs-github-bot

Copy link
Copy Markdown
Collaborator

@aduh95aduh95 added commit-queue Add this label to land a pull request using GitHub Actions. and removed commit-queue-failed An error occurred while landing this pull request using GitHub Actions. labels Dec 1, 2020
PR-URL: nodejs#36166
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
@aduh95

Copy link
Copy Markdown
ContributorAuthor

Landed in 7d45dd9

@aduh95
aduh95 merged commit 7d45dd9 into nodejs:masterDec 1, 2020
@aduh95
aduh95 deleted the buffer-primordials branch December 1, 2020 16:47
danielleadams pushed a commit that referenced this pull request Dec 7, 2020
PR-URL: #36166
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
@danielleadamsdanielleadams mentioned this pull request Dec 7, 2020
targos pushed a commit that referenced this pull request May 16, 2021
PR-URL: #36166
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
@targostargos mentioned this pull request Jun 6, 2021
targos pushed a commit that referenced this pull request Jun 11, 2021
PR-URL: #36166
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
@panvapanva removed the commit-queue Add this label to land a pull request using GitHub Actions. label Nov 27, 2024
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bufferIssues and PRs related to the buffer subsystem.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants

@aduh95@nodejs-github-bot@mscdex@jasnell@Trott@panva@targos