Skip to content

Conversation

@lucshi
Copy link

@lucshilucshi commented Nov 23, 2023

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

Refs: #50571

Below is the score improvment of each case.

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

@nodejs-github-botnodejs-github-bot added benchmark Issues and PRs related to the benchmark subsystem. crypto Issues and PRs related to the crypto subsystem. labels Nov 23, 2023
info: ['','info'],
hash: ['sha256','sha512'],
n: [1e3],
n: [1e4],
Copy link
Member

Choose a reason for hiding this comment

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

From 24s to 32s, is anyone against this change @nodejs/performance?

@lucshilucshi changed the title benchmark: increase iteration number of crypto hkdf casebenchmark: update iteration number of benhmark/crypto/hkdf.jsNov 27, 2023
@lucshilucshi changed the title benchmark: update iteration number of benhmark/crypto/hkdf.jsbenchmark: update iterations in benhmark/crypto/hkdf.jsNov 27, 2023
@lucshi
Copy link
Author

Updated the commit message

H4ad
H4ad approved these changes Dec 2, 2023
@H4adH4ad added the author ready PRs that have at least one approval, no pending requests for changes, and a CI started. label Dec 2, 2023
@lpincalpinca added the commit-queue Add this label to land a pull request using GitHub Actions. label Dec 3, 2023
@nodejs-github-botnodejs-github-bot removed the commit-queue Add this label to land a pull request using GitHub Actions. label Dec 3, 2023
@nodejs-github-botnodejs-github-bot merged commit 23031d9 into nodejs:mainDec 3, 2023
@nodejs-github-bot
Copy link
Collaborator

Landed in 23031d9

@lucshilucshi deleted the my-branch-3 branch December 4, 2023 00:49
targos pushed a commit that referenced this pull request Dec 4, 2023
Fixes: #50571 PR-URL: #50866 Refs: #50571 Reviewed-By: Vinícius Lourenço Claro Cardoso <[email protected]>
@targostargos mentioned this pull request Dec 4, 2023
richardlau pushed a commit that referenced this pull request Mar 25, 2024
Fixes: #50571 PR-URL: #50866 Refs: #50571 Reviewed-By: Vinícius Lourenço Claro Cardoso <[email protected]>
@richardlaurichardlau mentioned this pull request Mar 25, 2024
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

author readyPRs that have at least one approval, no pending requests for changes, and a CI started.benchmarkIssues and PRs related to the benchmark subsystem.cryptoIssues and PRs related to the crypto subsystem.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@lucshi@nodejs-github-bot@UlisesGascon@H4ad@lpinca