Skip to content

benchmark: update iterations in benhmark/crypto/hkdf.js

Rodrigo Muino Tomonari requested to merge github/fork/lucshi/my-branch-3 into main

Increase the iteration number from 1000 to 10000 to get a reasonble score. The updated score has up to ~60% improvement.

Refs: https://github.com/nodejs/node/issues/50571

Below is the score improvment of each case.

crypto/hkdf.js hash="sha256" info="" salt="" key="a" size=10 sync=0:  n=10000 percent=130.37%
crypto/hkdf.js hash="sha512" info="" salt="" key="a" size=10 sync=0:  n=10000 percent=137.63%
crypto/hkdf.js hash="sha256" info="info" salt="" key="a" size=10 sync=0:  n=10000 percent=144.41%
crypto/hkdf.js hash="sha512" info="info" salt="" key="a" size=10 sync=0:  n=10000 percent=150.94%
crypto/hkdf.js hash="sha256" info="" salt="salt" key="a" size=10 sync=0:  n=10000 percent=144.73%
crypto/hkdf.js hash="sha512" info="" salt="salt" key="a" size=10 sync=0:  n=10000 percent=145.79%
crypto/hkdf.js hash="sha256" info="info" salt="salt" key="a" size=10 sync=0:  n=10000 percent=166.00%
crypto/hkdf.js hash="sha512" info="info" salt="salt" key="a" size=10 sync=0:  n=10000 percent=163.75%
crypto/hkdf.js hash="sha256" info="" salt="" key="secret" size=10 sync=0:  n=10000 percent=138.28%
crypto/hkdf.js hash="sha512" info="" salt="" key="secret" size=10 sync=0:  n=10000 percent=139.70%
crypto/hkdf.js hash="sha256" info="info" salt="" key="secret" size=10 sync=0:  n=10000 percent=145.13%
crypto/hkdf.js hash="sha512" info="info" salt="" key="secret" size=10 sync=0:  n=10000 percent=158.77%
crypto/hkdf.js hash="sha256" info="" salt="salt" key="secret" size=10 sync=0:  n=10000 percent=150.70%
crypto/hkdf.js hash="sha512" info="" salt="salt" key="secret" size=10 sync=0:  n=10000 percent=156.71%
crypto/hkdf.js hash="sha256" info="info" salt="salt" key="secret" size=10 sync=0:  n=10000 percent=151.73%
crypto/hkdf.js hash="sha512" info="info" salt="salt" key="secret" size=10 sync=0:  n=10000 percent=149.76%
crypto/hkdf.js hash="sha256" info="" salt="" key="this-is-a-much-longer-secret" size=10 sync=0:  n=10000 percent=145.89%
crypto/hkdf.js hash="sha512" info="" salt="" key="this-is-a-much-longer-secret" size=10 sync=0:  n=10000 percent=145.45%
crypto/hkdf.js hash="sha256" info="info" salt="" key="this-is-a-much-longer-secret" size=10 sync=0:  n=10000 percent=143.61%
crypto/hkdf.js hash="sha512" info="info" salt="" key="this-is-a-much-longer-secret" size=10 sync=0:  n=10000 percent=136.94%
crypto/hkdf.js hash="sha256" info="" salt="salt" key="this-is-a-much-longer-secret" size=10 sync=0:  n=10000 percent=164.30%
crypto/hkdf.js hash="sha512" info="" salt="salt" key="this-is-a-much-longer-secret" size=10 sync=0:  n=10000 percent=153.54%
crypto/hkdf.js hash="sha256" info="info" salt="salt" key="this-is-a-much-longer-secret" size=10 sync=0:  n=10000 percent=151.04%
crypto/hkdf.js hash="sha512" info="info" salt="salt" key="this-is-a-much-longer-secret" size=10 sync=0:  n=10000 percent=152.60%
crypto/hkdf.js hash="sha256" info="" salt="" key="a" size=64 sync=0:  n=10000 percent=149.21%
crypto/hkdf.js hash="sha512" info="" salt="" key="a" size=64 sync=0:  n=10000 percent=148.71%
crypto/hkdf.js hash="sha256" info="info" salt="" key="a" size=64 sync=0:  n=10000 percent=155.66%
crypto/hkdf.js hash="sha512" info="info" salt="" key="a" size=64 sync=0:  n=10000 percent=156.17%
crypto/hkdf.js hash="sha256" info="" salt="salt" key="a" size=64 sync=0:  n=10000 percent=153.30%
crypto/hkdf.js hash="sha512" info="" salt="salt" key="a" size=64 sync=0:  n=10000 percent=153.96%
crypto/hkdf.js hash="sha256" info="info" salt="salt" key="a" size=64 sync=0:  n=10000 percent=153.73%
crypto/hkdf.js hash="sha512" info="info" salt="salt" key="a" size=64 sync=0:  n=10000 percent=154.98%
crypto/hkdf.js hash="sha256" info="" salt="" key="secret" size=64 sync=0:  n=10000 percent=144.12%
crypto/hkdf.js hash="sha512" info="" salt="" key="secret" size=64 sync=0:  n=10000 percent=147.54%
crypto/hkdf.js hash="sha256" info="info" salt="" key="secret" size=64 sync=0:  n=10000 percent=153.23%
crypto/hkdf.js hash="sha512" info="info" salt="" key="secret" size=64 sync=0:  n=10000 percent=154.31%
crypto/hkdf.js hash="sha256" info="" salt="salt" key="secret" size=64 sync=0:  n=10000 percent=155.34%
crypto/hkdf.js hash="sha512" info="" salt="salt" key="secret" size=64 sync=0:  n=10000 percent=157.12%
crypto/hkdf.js hash="sha256" info="info" salt="salt" key="secret" size=64 sync=0:  n=10000 percent=150.21%
crypto/hkdf.js hash="sha512" info="info" salt="salt" key="secret" size=64 sync=0:  n=10000 percent=153.70%
crypto/hkdf.js hash="sha256" info="" salt="" key="this-is-a-much-longer-secret" size=64 sync=0:  n=10000 percent=144.18%
crypto/hkdf.js hash="sha512" info="" salt="" key="this-is-a-much-longer-secret" size=64 sync=0:  n=10000 percent=131.54%
crypto/hkdf.js hash="sha256" info="info" salt="" key="this-is-a-much-longer-secret" size=64 sync=0:  n=10000 percent=151.83%
crypto/hkdf.js hash="sha512" info="info" salt="" key="this-is-a-much-longer-secret" size=64 sync=0:  n=10000 percent=163.06%
crypto/hkdf.js hash="sha256" info="" salt="salt" key="this-is-a-much-longer-secret" size=64 sync=0:  n=10000 percent=151.56%
crypto/hkdf.js hash="sha512" info="" salt="salt" key="this-is-a-much-longer-secret" size=64 sync=0:  n=10000 percent=151.59%
crypto/hkdf.js hash="sha256" info="info" salt="salt" key="this-is-a-much-longer-secret" size=64 sync=0:  n=10000 percent=161.74%
crypto/hkdf.js hash="sha512" info="info" salt="salt" key="this-is-a-much-longer-secret" size=64 sync=0:  n=10000 percent=151.46%
crypto/hkdf.js hash="sha256" info="" salt="" key="a" size=1024 sync=0:  n=10000 percent=113.88%
crypto/hkdf.js hash="sha512" info="" salt="" key="a" size=1024 sync=0:  n=10000 percent=144.35%
crypto/hkdf.js hash="sha256" info="info" salt="" key="a" size=1024 sync=0:  n=10000 percent=117.53%
crypto/hkdf.js hash="sha512" info="info" salt="" key="a" size=1024 sync=0:  n=10000 percent=144.91%
crypto/hkdf.js hash="sha256" info="" salt="salt" key="a" size=1024 sync=0:  n=10000 percent=123.14%
crypto/hkdf.js hash="sha512" info="" salt="salt" key="a" size=1024 sync=0:  n=10000 percent=143.22%
crypto/hkdf.js hash="sha256" info="info" salt="salt" key="a" size=1024 sync=0:  n=10000 percent=114.85%
crypto/hkdf.js hash="sha256" info="" salt="" key="secret" size=1024 sync=0:  n=10000 percent=114.84%
crypto/hkdf.js hash="sha512" info="" salt="" key="secret" size=1024 sync=0:  n=10000 percent=141.60%
crypto/hkdf.js hash="sha256" info="info" salt="" key="secret" size=1024 sync=0:  n=10000 percent=114.24%
crypto/hkdf.js hash="sha512" info="info" salt="" key="secret" size=1024 sync=0:  n=10000 percent=142.87%
crypto/hkdf.js hash="sha256" info="" salt="salt" key="secret" size=1024 sync=0:  n=10000 percent=119.90%
crypto/hkdf.js hash="sha256" info="info" salt="salt" key="secret" size=1024 sync=0:  n=10000 percent=122.07%
crypto/hkdf.js hash="sha512" info="info" salt="salt" key="secret" size=1024 sync=0:  n=10000 percent=110.31%
crypto/hkdf.js hash="sha256" info="" salt="" key="this-is-a-much-longer-secret" size=1024 sync=0:  n=10000 percent=110.05%
crypto/hkdf.js hash="sha512" info="" salt="" key="this-is-a-much-longer-secret" size=1024 sync=0:  n=10000 percent=110.27%
crypto/hkdf.js hash="sha256" info="info" salt="" key="this-is-a-much-longer-secret" size=1024 sync=0:  n=10000 percent=119.03%
crypto/hkdf.js hash="sha512" info="info" salt="" key="this-is-a-much-longer-secret" size=1024 sync=0:  n=10000 percent=110.96%
crypto/hkdf.js hash="sha256" info="" salt="salt" key="this-is-a-much-longer-secret" size=1024 sync=0:  n=10000 percent=123.58%
crypto/hkdf.js hash="sha512" info="" salt="salt" key="this-is-a-much-longer-secret" size=1024 sync=0:  n=10000 percent=110.73%
crypto/hkdf.js hash="sha256" info="info" salt="salt" key="this-is-a-much-longer-secret" size=1024 sync=0:  n=10000 percent=120.81%
crypto/hkdf.js hash="sha512" info="info" salt="salt" key="this-is-a-much-longer-secret" size=1024 sync=0:  n=10000 percent=111.63%
crypto/hkdf.js hash="sha256" info="" salt="" key="a" size=10 sync=1:  n=10000 percent=126.97%
crypto/hkdf.js hash="sha512" info="" salt="" key="a" size=10 sync=1:  n=10000 percent=124.29%
crypto/hkdf.js hash="sha256" info="info" salt="" key="a" size=10 sync=1:  n=10000 percent=127.90%
crypto/hkdf.js hash="sha512" info="info" salt="" key="a" size=10 sync=1:  n=10000 percent=125.24%
crypto/hkdf.js hash="sha256" info="" salt="salt" key="a" size=10 sync=1:  n=10000 percent=129.15%
crypto/hkdf.js hash="sha512" info="" salt="salt" key="a" size=10 sync=1:  n=10000 percent=126.17%
crypto/hkdf.js hash="sha256" info="info" salt="salt" key="a" size=10 sync=1:  n=10000 percent=130.78%
crypto/hkdf.js hash="sha512" info="info" salt="salt" key="a" size=10 sync=1:  n=10000 percent=128.28%
crypto/hkdf.js hash="sha256" info="" salt="" key="secret" size=10 sync=1:  n=10000 percent=126.82%
crypto/hkdf.js hash="sha512" info="" salt="" key="secret" size=10 sync=1:  n=10000 percent=125.08%
crypto/hkdf.js hash="sha256" info="info" salt="" key="secret" size=10 sync=1:  n=10000 percent=128.94%
crypto/hkdf.js hash="sha512" info="info" salt="" key="secret" size=10 sync=1:  n=10000 percent=122.23%
crypto/hkdf.js hash="sha256" info="" salt="salt" key="secret" size=10 sync=1:  n=10000 percent=124.48%
crypto/hkdf.js hash="sha512" info="" salt="salt" key="secret" size=10 sync=1:  n=10000 percent=118.93%
crypto/hkdf.js hash="sha256" info="info" salt="salt" key="secret" size=10 sync=1:  n=10000 percent=128.17%
crypto/hkdf.js hash="sha512" info="info" salt="salt" key="secret" size=10 sync=1:  n=10000 percent=124.77%
crypto/hkdf.js hash="sha256" info="" salt="" key="this-is-a-much-longer-secret" size=10 sync=1:  n=10000 percent=124.32%
crypto/hkdf.js hash="sha512" info="" salt="" key="this-is-a-much-longer-secret" size=10 sync=1:  n=10000 percent=119.69%
crypto/hkdf.js hash="sha256" info="info" salt="" key="this-is-a-much-longer-secret" size=10 sync=1:  n=10000 percent=124.92%
crypto/hkdf.js hash="sha512" info="info" salt="" key="this-is-a-much-longer-secret" size=10 sync=1:  n=10000 percent=122.55%
crypto/hkdf.js hash="sha256" info="" salt="salt" key="this-is-a-much-longer-secret" size=10 sync=1:  n=10000 percent=125.24%
crypto/hkdf.js hash="sha512" info="" salt="salt" key="this-is-a-much-longer-secret" size=10 sync=1:  n=10000 percent=125.28%
crypto/hkdf.js hash="sha256" info="info" salt="salt" key="this-is-a-much-longer-secret" size=10 sync=1:  n=10000 percent=126.60%
crypto/hkdf.js hash="sha512" info="info" salt="salt" key="this-is-a-much-longer-secret" size=10 sync=1:  n=10000 percent=123.68%
crypto/hkdf.js hash="sha256" info="" salt="" key="a" size=64 sync=1:  n=10000 percent=120.92%
crypto/hkdf.js hash="sha512" info="" salt="" key="a" size=64 sync=1:  n=10000 percent=120.53%
crypto/hkdf.js hash="sha256" info="info" salt="" key="a" size=64 sync=1:  n=10000 percent=124.23%
crypto/hkdf.js hash="sha512" info="info" salt="" key="a" size=64 sync=1:  n=10000 percent=121.80%
crypto/hkdf.js hash="sha256" info="" salt="salt" key="a" size=64 sync=1:  n=10000 percent=124.00%
crypto/hkdf.js hash="sha512" info="" salt="salt" key="a" size=64 sync=1:  n=10000 percent=121.95%
crypto/hkdf.js hash="sha256" info="info" salt="salt" key="a" size=64 sync=1:  n=10000 percent=126.62%
crypto/hkdf.js hash="sha512" info="info" salt="salt" key="a" size=64 sync=1:  n=10000 percent=124.46%
crypto/hkdf.js hash="sha256" info="" salt="" key="secret" size=64 sync=1:  n=10000 percent=122.81%
crypto/hkdf.js hash="sha512" info="" salt="" key="secret" size=64 sync=1:  n=10000 percent=120.64%
crypto/hkdf.js hash="sha256" info="info" salt="" key="secret" size=64 sync=1:  n=10000 percent=124.65%
crypto/hkdf.js hash="sha512" info="info" salt="" key="secret" size=64 sync=1:  n=10000 percent=123.39%
crypto/hkdf.js hash="sha256" info="" salt="salt" key="secret" size=64 sync=1:  n=10000 percent=124.52%
crypto/hkdf.js hash="sha512" info="" salt="salt" key="secret" size=64 sync=1:  n=10000 percent=123.52%
crypto/hkdf.js hash="sha256" info="info" salt="salt" key="secret" size=64 sync=1:  n=10000 percent=126.95%
crypto/hkdf.js hash="sha512" info="info" salt="salt" key="secret" size=64 sync=1:  n=10000 percent=124.54%
crypto/hkdf.js hash="sha256" info="" salt="" key="this-is-a-much-longer-secret" size=64 sync=1:  n=10000 percent=123.41%
crypto/hkdf.js hash="sha512" info="" salt="" key="this-is-a-much-longer-secret" size=64 sync=1:  n=10000 percent=121.07%
crypto/hkdf.js hash="sha256" info="info" salt="" key="this-is-a-much-longer-secret" size=64 sync=1:  n=10000 percent=123.85%
crypto/hkdf.js hash="sha512" info="info" salt="" key="this-is-a-much-longer-secret" size=64 sync=1:  n=10000 percent=122.17%
crypto/hkdf.js hash="sha256" info="" salt="salt" key="this-is-a-much-longer-secret" size=64 sync=1:  n=10000 percent=124.74%
crypto/hkdf.js hash="sha512" info="" salt="salt" key="this-is-a-much-longer-secret" size=64 sync=1:  n=10000 percent=122.33%
crypto/hkdf.js hash="sha256" info="info" salt="salt" key="this-is-a-much-longer-secret" size=64 sync=1:  n=10000 percent=126.81%
crypto/hkdf.js hash="sha512" info="info" salt="salt" key="this-is-a-much-longer-secret" size=64 sync=1:  n=10000 percent=123.97%
crypto/hkdf.js hash="sha256" info="" salt="" key="a" size=1024 sync=1:  n=10000 percent=116.01%
crypto/hkdf.js hash="sha512" info="" salt="" key="a" size=1024 sync=1:  n=10000 percent=114.03%
crypto/hkdf.js hash="sha256" info="info" salt="" key="a" size=1024 sync=1:  n=10000 percent=115.20%
crypto/hkdf.js hash="sha512" info="info" salt="" key="a" size=1024 sync=1:  n=10000 percent=114.27%
crypto/hkdf.js hash="sha256" info="" salt="salt" key="a" size=1024 sync=1:  n=10000 percent=115.64%
crypto/hkdf.js hash="sha512" info="" salt="salt" key="a" size=1024 sync=1:  n=10000 percent=113.07%
crypto/hkdf.js hash="sha256" info="info" salt="salt" key="a" size=1024 sync=1:  n=10000 percent=118.23%
crypto/hkdf.js hash="sha512" info="info" salt="salt" key="a" size=1024 sync=1:  n=10000 percent=114.00%
crypto/hkdf.js hash="sha256" info="" salt="" key="secret" size=1024 sync=1:  n=10000 percent=115.28%
crypto/hkdf.js hash="sha512" info="" salt="" key="secret" size=1024 sync=1:  n=10000 percent=112.68%
crypto/hkdf.js hash="sha256" info="info" salt="" key="secret" size=1024 sync=1:  n=10000 percent=114.88%
crypto/hkdf.js hash="sha512" info="info" salt="" key="secret" size=1024 sync=1:  n=10000 percent=113.57%
crypto/hkdf.js hash="sha256" info="" salt="salt" key="secret" size=1024 sync=1:  n=10000 percent=115.94%
crypto/hkdf.js hash="sha256" info="info" salt="salt" key="secret" size=1024 sync=1:  n=10000 percent=116.70%
crypto/hkdf.js hash="sha512" info="info" salt="salt" key="secret" size=1024 sync=1:  n=10000 percent=114.79%
crypto/hkdf.js hash="sha256" info="" salt="" key="this-is-a-much-longer-secret" size=1024 sync=1:  n=10000 percent=115.64%
crypto/hkdf.js hash="sha512" info="" salt="" key="this-is-a-much-longer-secret" size=1024 sync=1:  n=10000 percent=113.45%
crypto/hkdf.js hash="sha256" info="info" salt="" key="this-is-a-much-longer-secret" size=1024 sync=1:  n=10000 percent=115.69%
crypto/hkdf.js hash="sha512" info="info" salt="" key="this-is-a-much-longer-secret" size=1024 sync=1:  n=10000 percent=113.01%
crypto/hkdf.js hash="sha256" info="" salt="salt" key="this-is-a-much-longer-secret" size=1024 sync=1:  n=10000 percent=116.74%
crypto/hkdf.js hash="sha512" info="" salt="salt" key="this-is-a-much-longer-secret" size=1024 sync=1:  n=10000 percent=115.86%
crypto/hkdf.js hash="sha256" info="info" salt="salt" key="this-is-a-much-longer-secret" size=1024 sync=1:  n=10000 percent=117.84%
crypto/hkdf.js hash="sha512" info="info" salt="salt" key="this-is-a-much-longer-secret" size=1024 sync=1:  n=10000 percent=114.26%```

Merge request reports

Loading