buffer: improve compare() performance
Here are the results of the changes in this PR, using newly added benchmark parameters:
improvement confidence p.value
buffers/buffer-compare-instance-method.js millions=20 args=1 size=1024 79.64 % *** 1.708068e-23
buffers/buffer-compare-instance-method.js millions=20 args=1 size=16 120.23 % *** 4.789291e-22
buffers/buffer-compare-instance-method.js millions=20 args=1 size=16386 29.41 % *** 6.728233e-25
buffers/buffer-compare-instance-method.js millions=20 args=1 size=4096 38.39 % *** 4.356356e-22
buffers/buffer-compare-instance-method.js millions=20 args=1 size=512 95.33 % *** 2.836086e-27
buffers/buffer-compare-instance-method.js millions=20 args=2 size=1024 36.68 % *** 7.725875e-16
buffers/buffer-compare-instance-method.js millions=20 args=2 size=16 41.81 % *** 4.501507e-12
buffers/buffer-compare-instance-method.js millions=20 args=2 size=16386 17.62 % *** 1.637306e-23
buffers/buffer-compare-instance-method.js millions=20 args=2 size=4096 24.56 % *** 1.838687e-16
buffers/buffer-compare-instance-method.js millions=20 args=2 size=512 36.07 % *** 1.337825e-12
buffers/buffer-compare-instance-method.js millions=20 args=3 size=1024 26.15 % *** 1.077808e-10
buffers/buffer-compare-instance-method.js millions=20 args=3 size=16 38.97 % *** 1.267865e-12
buffers/buffer-compare-instance-method.js millions=20 args=3 size=16386 14.94 % *** 2.809292e-22
buffers/buffer-compare-instance-method.js millions=20 args=3 size=4096 21.77 % *** 7.859591e-12
buffers/buffer-compare-instance-method.js millions=20 args=3 size=512 35.13 % *** 1.176360e-14
buffers/buffer-compare-instance-method.js millions=20 args=4 size=1024 24.45 % *** 6.181133e-08
buffers/buffer-compare-instance-method.js millions=20 args=4 size=16 35.20 % *** 5.202743e-11
buffers/buffer-compare-instance-method.js millions=20 args=4 size=16386 15.46 % *** 5.231296e-23
buffers/buffer-compare-instance-method.js millions=20 args=4 size=4096 19.14 % *** 1.193200e-09
buffers/buffer-compare-instance-method.js millions=20 args=4 size=512 32.69 % *** 1.456810e-14
buffers/buffer-compare-instance-method.js millions=20 args=5 size=1024 20.11 % *** 8.825567e-08
buffers/buffer-compare-instance-method.js millions=20 args=5 size=16 26.04 % *** 3.350537e-10
buffers/buffer-compare-instance-method.js millions=20 args=5 size=16386 13.36 % *** 2.349793e-18
buffers/buffer-compare-instance-method.js millions=20 args=5 size=4096 19.60 % *** 8.104786e-12
buffers/buffer-compare-instance-method.js millions=20 args=5 size=512 22.01 % *** 1.282699e-08
CI: https://ci.nodejs.org/job/node-test-pull-request/5971/
Checklist
-
make -j4 test
(UNIX), orvcbuild test
(Windows) passes -
tests and/or benchmarks are included -
commit message follows commit guidelines
Affected core subsystem(s)
- buffer