Skip to content

2025 benchmark update #2024

Open
Open
@Kobzol

Description

@Kobzol

In 2025, it will be time to refresh and update our primary benchmarks again, based on our benchmark update policy.

The update policy, and a guide of how to actually update the benchmarks is described here. In short:

  1. Download the new benchmark
$ cargo run --bin collector download -c Primary -a <library/binary> crate <name> <version>
  1. Add Cargo.lock in the downloaded crate to git, even if it is ignored!
  2. Commit
  3. Copy perf-config.json and .patch files from the old version
  4. Add [workspace] to Cargo.toml if it's not already there
  5. Check that
$ cargo build -p collector; cargo run --bin collector bench_local `rustup +stable which rustc` --include <benchmark-name>

works

  • If it fails because "patch does not apply", re-create the old patch files based on the updated benchmark source code. For each patch file, perform the same change as was in the original patch file, and then run git diff --patch --relative from the directory of the benchmark and store the output into the patch filename.
  1. Modify collector/compile-benchmarks/README.md
  2. Modify collector/compile-benchmarks/REUSE.toml
  3. Commit
  4. Run bench_local for both the old and the new benchmark version, then run the website locally (cargo run --bin site), click on "Display raw data" and "Show non-relevant results" in the "Filters" section and post a screenshot of the results. Before running the benchmark, make sure to clear any stale benchmark data (rm results.db*).

Progress

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions