Skip to content

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), or vcbuild test (Windows) passes
  • tests and/or benchmarks are included
  • commit message follows commit guidelines
Affected core subsystem(s)
  • buffer

Merge request reports

Loading