From b983ab1c6cef0e98d8093b42139ccb62ebf0dc81 Mon Sep 17 00:00:00 2001 From: Charlie Marsh Date: Mon, 15 Jan 2024 14:57:30 -0500 Subject: [PATCH] Update contributing docs to use `cargo bench -p ruff_benchmark` (#9535) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Summary I found that `cargo benchmark lexer` didn't work as expected: ```shell ❯ cargo benchmark lexer Finished bench [optimized] target(s) in 0.08s Running benches/formatter.rs (target/release/deps/formatter-4e1d9bf9d3ba529d) Running benches/linter.rs (target/release/deps/linter-e449086ddfd8ad8c) ``` Turns out that `cargo bench -p ruff_benchmark` is now recommended over `cargo benchmark`, so updating the docs to reflect that. --- CONTRIBUTING.md | 16 ++++++++-------- crates/ruff_benchmark/README.md | 13 ++++++++++++- 2 files changed, 20 insertions(+), 9 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 6aa1cfe248106..178ac7dd40baf 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -518,10 +518,10 @@ if the benchmark improved/regressed compared to that baseline. ```shell # Run once on your "baseline" code -cargo benchmark --save-baseline=main +cargo bench -p ruff_benchmark -- --save-baseline=main # Then iterate with -cargo benchmark --baseline=main +cargo bench -p ruff_benchmark -- --baseline=main ``` #### PR Summary @@ -531,10 +531,10 @@ This is useful to illustrate the improvements of a PR. ```shell # On main -cargo benchmark --save-baseline=main +cargo bench -p ruff_benchmark -- --save-baseline=main # After applying your changes -cargo benchmark --save-baseline=pr +cargo bench -p ruff_benchmark -- --save-baseline=pr critcmp main pr ``` @@ -547,10 +547,10 @@ cargo install critcmp #### Tips -- Use `cargo benchmark ` to only run specific benchmarks. For example: `cargo benchmark linter/pydantic` - to only run the pydantic tests. -- Use `cargo benchmark --quiet` for a more cleaned up output (without statistical relevance) -- Use `cargo benchmark --quick` to get faster results (more prone to noise) +- Use `cargo bench -p ruff_benchmark ` to only run specific benchmarks. For example: `cargo benchmark lexer` + to only run the lexer benchmarks. +- Use `cargo bench -p ruff_benchmark -- --quiet` for a more cleaned up output (without statistical relevance) +- Use `cargo bench -p ruff_benchmark -- --quick` to get faster results (more prone to noise) ### Profiling Projects diff --git a/crates/ruff_benchmark/README.md b/crates/ruff_benchmark/README.md index 02a683b19e795..f945c8a75ca10 100644 --- a/crates/ruff_benchmark/README.md +++ b/crates/ruff_benchmark/README.md @@ -1,5 +1,16 @@ # Ruff Benchmarks -The `ruff_benchmark` crate benchmarks the linter and the formatter on individual files. +The `ruff_benchmark` crate benchmarks the linter and the formatter on individual files: + +```shell +# Run once on the "baseline". +cargo bench -p ruff_benchmark -- --save-baseline=main + +# Compare against the "baseline". +cargo bench -p ruff_benchmark -- --baseline=main + +# Run the lexer benchmarks. +cargo bench -p ruff_benchmark lexer -- --baseline=main +``` See [CONTRIBUTING.md](../../CONTRIBUTING.md) on how to use these benchmarks.