Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fs benchmarks take 10+ hours #49689

Open
anonrig opened this issue Sep 17, 2023 · 6 comments
Open

Fs benchmarks take 10+ hours #49689

anonrig opened this issue Sep 17, 2023 · 6 comments
Labels
benchmark Issues and PRs related to the benchmark subsystem. fs Issues and PRs related to the fs subsystem / file system.

Comments

@anonrig
Copy link
Member

anonrig commented Sep 17, 2023

Current node:fs benchmarks take 10+ hours on our CI, making it impossible to run all of them and have a healthy emotional state. It also blocks other benchmark jobs.

I recommend aiming for 2-3 hours and changing the benchmarks according to fit into this deadline.

cc @nodejs/performance

@anonrig anonrig added fs Issues and PRs related to the fs subsystem / file system. benchmark Issues and PRs related to the benchmark subsystem. labels Sep 17, 2023
@joyeecheung
Copy link
Member

joyeecheung commented Sep 17, 2023

I think the fs benchmarks are having the same kind of issue that happen to many other benchmarks - they have a bit too many combinations of the parameters, and some of them are unnecessary. For example there are usually too many size / len variations. For example in this.

len: [
1024,
512 * 1024,
4 * 1024 ** 2,
8 * 1024 ** 2,
16 * 1024 ** 2,
32 * 1024 ** 2,
],

We probably just need 2-3 combinations by default. Or at least only pick 2-3 combinations when we are running the entire fs benchmark. There could be something OS-specific about them to make certain options not representative enough to be in that default set but I think we can always expand the variations when there's actually any doubt.

@mscdex
Copy link
Contributor

mscdex commented Sep 18, 2023

I think the fs benchmarks are having the same kind of issue that happen to many other benchmarks - they have a bit too many combinations of the parameters, and some of them are unnecessary.

This would probably be solved by #39285

@RafaelGSS
Copy link
Member

Also related nodejs/build#3483.

@tniessen
Copy link
Member

We could also make benchmark iterations scalable. Running a few benchmarks for 1e5 iterations is usually not a problem, but running all benchmarks for 1e5 iterations might be.

@Uzlopak
Copy link
Contributor

Uzlopak commented Sep 19, 2023

I usually start with 1e7 iterations, and if it takes more time than I can bear, I reduce it by a factor of 10 and check if the benched result is not significantly different. Rinse and repeat.

@H4ad
Copy link
Member

H4ad commented Sep 28, 2023

Is possible to create some kind of repo/issue to track slow benchmarks? Like we have for flaky tests?

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. fs Issues and PRs related to the fs subsystem / file system.
Projects
None yet
Development

No branches or pull requests

7 participants