Skip to content

Conversation

@joyeecheung
Copy link
Member

This allows us to set up fixtures for the benchmark suite only once, which can save quite a bit of time when running benchmarks that require tens of thousands of fixture files or more (e.g. the module benchmarks).

Fixes: #58488

$ node git:(main) ✗ time node benchmark/module/module-require.js
module/module-require.js n=10000 type=".js": 23,802.994478117074
module/module-require.js n=10000 type=".json": 39,399.95833454406
module/module-require.js n=10000 type="dir": 17,146.092855523166

User time: 1.08s
System time: 14.75s
CPU time: 83%
Total time: 18.91s

$  node git:(main) ✗ git checkout benchmark-setup
Switched to branch 'benchmark-setup'
$ node git:(benchmark-setup) ✗ time node benchmark/module/module-require.js
module/module-require.js n=10000 type=".js": 23,515.56292405791
module/module-require.js n=10000 type=".json": 35,404.88808736156
module/module-require.js n=10000 type="dir": 16,478.902155500055

User time: 0.86s
System time: 5.79s
CPU time: 87%
Total time: 7.61s

@nodejs-github-bot
Copy link
Collaborator

Review requested:

  • @nodejs/performance
  • @nodejs/tsc

@RafaelGSS RafaelGSS added the benchmark Issues and PRs related to the benchmark subsystem. label Nov 4, 2025
@RafaelGSS
Copy link
Member

[Off-Topic] Weird that node-pr-labeler didn't include benchmark and performance labels automatically, even having https://github.com/nodejs/node/blob/main/.github/label-pr-config.yml#L168 set. cc: @nodejs/actions - execution https://github.com/nodejs/node/actions/runs/19082330661/job/54513974134

This allows us to set up fixtures for the benchmark suite only
once, which can save quite a bit of time when running benchmarks
that require tens of thousands of fixture files or more (e.g.
the module benchmarks).
@joyeecheung joyeecheung added the request-ci Add this label to start a Jenkins CI on a PR. label Nov 5, 2025
@github-actions github-actions bot removed the request-ci Add this label to start a Jenkins CI on a PR. label Nov 5, 2025
@nodejs-github-bot
Copy link
Collaborator

@nodejs-github-bot
Copy link
Collaborator

@joyeecheung
Copy link
Member Author

It looks like GitHub considered a cancelled action for testing shared libraries as failure, and it's unclear how to restart it. I guess it is safe to ignore, anyway.

@targos
Copy link
Member

targos commented Nov 7, 2025

I restarted it with
CleanShot 2025-11-07 at 14 26 41

@joyeecheung joyeecheung added the commit-queue Add this label to land a pull request using GitHub Actions. label Nov 7, 2025
@nodejs-github-bot nodejs-github-bot removed the commit-queue Add this label to land a pull request using GitHub Actions. label Nov 7, 2025
@nodejs-github-bot nodejs-github-bot merged commit 622c372 into nodejs:main Nov 7, 2025
67 of 68 checks passed
@nodejs-github-bot
Copy link
Collaborator

Landed in 622c372

aduh95 pushed a commit that referenced this pull request Nov 10, 2025
This allows us to set up fixtures for the benchmark suite only
once, which can save quite a bit of time when running benchmarks
that require tens of thousands of fixture files or more (e.g.
the module benchmarks).

PR-URL: #60574
Fixes: #58488
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

benchmark Issues and PRs related to the benchmark subsystem.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support per-benchmark-suite setup and teardown

6 participants