Skip to content

2025 benchmark update #2024

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

Open
6 of 40 tasks
Kobzol opened this issue Dec 19, 2024 · 2 comments
Open
6 of 40 tasks

2025 benchmark update #2024

Kobzol opened this issue Dec 19, 2024 · 2 comments

Comments

@Kobzol
Copy link
Contributor

Kobzol commented Dec 19, 2024

In 2025, it will be time to refresh and update our 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 timings in old and new version and post the results to the PR description
time -p CARGO_INCREMENTAL=0 cargo check ; cargo clean
time -p CARGO_INCREMENTAL=0 cargo build ; cargo clean
time -p CARGO_INCREMENTAL=0 cargo build --release ; cargo clean

Progress

@nnethercote
Copy link
Contributor

As per the discussion on Zulip, we're going to wait a little bit and get some ducks lined up in a row before starting on this.

@Kobzol
Copy link
Contributor Author

Kobzol commented Apr 17, 2025

We have started the benchmark update process this week.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants