diff options
author | Carl Lerche <me@carllerche.com> | 2020-11-13 19:30:52 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-11-13 19:30:52 -0800 |
commit | 97c2c4203cd7c42960cac895987c43a17dff052e (patch) | |
tree | f4a3cfebafb7afee68d6d4de1748daddcfc070c6 | |
parent | 60366ca0fa3120f6c6d38cbd9087d0908e464120 (diff) |
chore: automate running benchmarks (#3140)
Uses Github actions to run benchmarks.
-rw-r--r-- | .github/workflows/bench.yml | 55 | ||||
-rw-r--r-- | benches/Cargo.toml | 8 | ||||
-rw-r--r-- | benches/rt_multi_threaded.rs (renamed from benches/scheduler.rs) | 0 | ||||
-rw-r--r-- | benches/sync_mpsc.rs (renamed from benches/mpsc.rs) | 0 |
4 files changed, 59 insertions, 4 deletions
diff --git a/.github/workflows/bench.yml b/.github/workflows/bench.yml new file mode 100644 index 00000000..98925986 --- /dev/null +++ b/.github/workflows/bench.yml @@ -0,0 +1,55 @@ +name: Benchmark +on: + push: + branches: + - master + +jobs: + benchmark: + name: Benchmark + runs-on: ubuntu-latest + strategy: + matrix: + bench: + - rt_multi_threaded + - sync_mpsc + - sync_rwlock + - sync_semaphore + steps: + - uses: actions/checkout@v2 + - name: Install Rust + run: rustup update stable + + # Run benchmark with `go test -bench` and stores the output to a file + - name: Run benchmark + run: cargo bench --bench ${{ matrix.bench }} | tee ../output.txt + working-directory: benches + + # Download previous benchmark result from cache (if exists) + - name: Download previous benchmark data + uses: actions/cache@v1 + with: + path: ./cache + key: ${{ runner.os }}-benchmark + + # Run `github-action-benchmark` action + - name: Store benchmark result + uses: rhysd/github-action-benchmark@v1 + with: + name: ${{ matrix.bench }} + # What benchmark tool the output.txt came from + tool: 'cargo' + # Where the output from the benchmark tool is stored + output-file-path: output.txt + # # Where the previous data file is stored + # external-data-json-path: ./cache/benchmark-data.json + # Workflow will fail when an alert happens + fail-on-alert: true + # GitHub API token to make a commit comment + github-token: ${{ secrets.GITHUB_TOKEN }} + # Enable alert commit comment + comment-on-alert: true + alert-comment-cc-users: '@tokio-rs/maintainers' + auto-push: true + + # Upload the updated cache file for the next job by actions/cache
\ No newline at end of file diff --git a/benches/Cargo.toml b/benches/Cargo.toml index cca0ece5..d0383f36 100644 --- a/benches/Cargo.toml +++ b/benches/Cargo.toml @@ -17,13 +17,13 @@ path = "spawn.rs" harness = false [[bench]] -name = "mpsc" -path = "mpsc.rs" +name = "sync_mpsc" +path = "sync_mpsc.rs" harness = false [[bench]] -name = "scheduler" -path = "scheduler.rs" +name = "rt_multi_threaded" +path = "rt_multi_threaded.rs" harness = false diff --git a/benches/scheduler.rs b/benches/rt_multi_threaded.rs index 68a6d6a4..68a6d6a4 100644 --- a/benches/scheduler.rs +++ b/benches/rt_multi_threaded.rs diff --git a/benches/mpsc.rs b/benches/sync_mpsc.rs index 3f7e3fca..3f7e3fca 100644 --- a/benches/mpsc.rs +++ b/benches/sync_mpsc.rs |