Skip to content

buffer: improve write(U)Int functions

This improves the performance of some buffer write functions.

 buffers/buffer-write.js millions=5 type='Int32BE' buffer='fast'         ***      5.83 %       ±1.13% ±1.51% ±1.97%
 buffers/buffer-write.js millions=5 type='Int32BE' buffer='slow'         ***      6.40 %       ±3.04% ±4.05% ±5.30%
 buffers/buffer-write.js millions=5 type='Int32LE' buffer='fast'         ***     11.19 %       ±1.90% ±2.54% ±3.32%
 buffers/buffer-write.js millions=5 type='Int32LE' buffer='slow'         ***     13.35 %       ±2.47% ±3.28% ±4.28%
 buffers/buffer-write.js millions=5 type='IntBE' buffer='fast'                   -0.36 %       ±1.59% ±2.12% ±2.76%
 buffers/buffer-write.js millions=5 type='IntBE' buffer='slow'                    0.15 %       ±0.97% ±1.29% ±1.67%
 buffers/buffer-write.js millions=5 type='IntLE' buffer='fast'                    1.68 %       ±2.23% ±2.98% ±3.92%
 buffers/buffer-write.js millions=5 type='IntLE' buffer='slow'                    0.31 %       ±1.34% ±1.78% ±2.31%
 buffers/buffer-write.js millions=5 type='UInt32BE' buffer='fast'        ***      7.28 %       ±1.42% ±1.89% ±2.47%
 buffers/buffer-write.js millions=5 type='UInt32BE' buffer='slow'        ***      7.66 %       ±1.49% ±1.99% ±2.59%
 buffers/buffer-write.js millions=5 type='UInt32LE' buffer='fast'        ***      3.53 %       ±1.04% ±1.38% ±1.80%
 buffers/buffer-write.js millions=5 type='UInt32LE' buffer='slow'        ***      5.49 %       ±2.12% ±2.84% ±3.74%
 buffers/buffer-write.js millions=5 type='UIntBE' buffer='fast'                   0.76 %       ±2.48% ±3.32% ±4.36%
 buffers/buffer-write.js millions=5 type='UIntBE' buffer='slow'                   0.35 %       ±3.25% ±4.34% ±5.66%
 buffers/buffer-write.js millions=5 type='UIntLE' buffer='fast'                  -1.21 %       ±2.70% ±3.63% ±4.78%
 buffers/buffer-write.js millions=5 type='UIntLE' buffer='slow'                   1.50 %       ±2.20% ±2.96% ±3.92%
Checklist
  • make -j4 test (UNIX), or vcbuild test (Windows) passes
  • tests and/or benchmarks are included
  • documentation is changed or added
  • commit message follows commit guidelines

Merge request reports

Loading