Skip to content

Fs benchmarks take 10+ hours #49689

Description

@anonrig

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

Activity

  1. added
    fsIssues and PRs related to file-system APIs and the fs module.
    benchmarkIssues and PRs related to Node.js benchmarks and benchmarking infrastructure.
    on Sep 17, 2023
  2. joyeecheung commented on Sep 17, 2023

    @joyeecheung
    Member

    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.

  3. mscdex commented on Sep 18, 2023

    @mscdex
    Contributor

    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

  4. RafaelGSS commented on Sep 18, 2023

    @RafaelGSS
    Member

    Also related nodejs/build#3483.

  5. tniessen commented on Sep 18, 2023

    @tniessen
    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.

  6. Uzlopak commented on Sep 19, 2023

    @Uzlopak
    Contributor

    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.

  7. H4ad commented on Sep 28, 2023

    @H4ad
    Member

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

  8. github-actions commented on May 28, 2026

    @github-actions
    Contributor

    This issue has been marked as stale due to 210 days of inactivity.
    It will be automatically closed in 30 days if no further activity occurs. If this is still relevant, please leave a comment or update it to keep it open.

  9. added
    staleIssues and PRs marked stale due to inactivity and scheduled for automatic closure.
    on May 28, 2026
  10. github-actions commented on Jun 28, 2026

    @github-actions
    Contributor

    This issue has been automatically closed after 30 days of inactivity following its stale status (no activity for a total of 240 days).
    If this is still relevant, feel free to reopen it or leave a comment with additional details so we can continue the discussion.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    benchmarkIssues and PRs related to Node.js benchmarks and benchmarking infrastructure.fsIssues and PRs related to file-system APIs and the fs module.staleIssues and PRs marked stale due to inactivity and scheduled for automatic closure.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions