Skip to content

Commit

Permalink
readme: add description about benchmarks (#6425)
Browse files Browse the repository at this point in the history
  • Loading branch information
mox692 authored Mar 23, 2024
1 parent 1846483 commit 4c453e9
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 2 deletions.
3 changes: 1 addition & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -210,11 +210,10 @@ jobs:
run: cargo hack test --each-feature
working-directory: tests-build

# Check benchmarks. Run of benchmarks is done by bench.yml workflow.
# Check benchmarks.
- name: Check benches
run: cargo check --benches
working-directory: benches
# bench.yml workflow runs benchmarks only on linux.
if: startsWith(matrix.os, 'ubuntu')

test-parking_lot:
Expand Down
23 changes: 23 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -347,6 +347,29 @@ example would explicitly use `Timeout::new`. For example:
/// # }
```

### Benchmarks

You can run benchmarks locally for the changes you've made to the tokio codebase.
Tokio currently uses [Criterion](https://github.com/bheisler/criterion.rs) as its benchmarking tool. To run a benchmark
against the changes you have made, for example, you can run;
```bash
cd benches
# Run all benchmarks.
cargo bench
# Run all tests in the `benches/fs.rs` file
cargo bench --bench fs
# Run the `async_read_buf` benchmark in `benches/fs.rs` specifically.
cargo bench async_read_buf
# After running benches, you can check the statistics under `tokio/target/criterion/`
```
You can also refer to Criterion docs for additional options and details.
### Commits
It is a recommended best practice to keep your changes as logically grouped as
Expand Down

0 comments on commit 4c453e9

Please sign in to comment.