mirror of
https://github.com/tokio-rs/tokio.git
synced 2026-08-29 00:00:11 +02:00
readme: add description about benchmarks (#6425)
This commit is contained in:
@@ -210,11 +210,10 @@ jobs:
|
|||||||
run: cargo hack test --each-feature
|
run: cargo hack test --each-feature
|
||||||
working-directory: tests-build
|
working-directory: tests-build
|
||||||
|
|
||||||
# Check benchmarks. Run of benchmarks is done by bench.yml workflow.
|
# Check benchmarks.
|
||||||
- name: Check benches
|
- name: Check benches
|
||||||
run: cargo check --benches
|
run: cargo check --benches
|
||||||
working-directory: benches
|
working-directory: benches
|
||||||
# bench.yml workflow runs benchmarks only on linux.
|
|
||||||
if: startsWith(matrix.os, 'ubuntu')
|
if: startsWith(matrix.os, 'ubuntu')
|
||||||
|
|
||||||
test-parking_lot:
|
test-parking_lot:
|
||||||
|
|||||||
@@ -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
|
### Commits
|
||||||
|
|
||||||
It is a recommended best practice to keep your changes as logically grouped as
|
It is a recommended best practice to keep your changes as logically grouped as
|
||||||
|
|||||||
Reference in New Issue
Block a user