Skip to content

Commit 4890db3

Browse files
chore: shard criterion benchmarks
1 parent 0dbf3da commit 4890db3

7 files changed

Lines changed: 52 additions & 9 deletions

File tree

.github/workflows/ci.yml

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -177,10 +177,21 @@ jobs:
177177
runs-on: codspeed-macro
178178
strategy:
179179
matrix:
180-
package:
181-
- codspeed-divan-compat
182-
- codspeed-divan-compat-examples
183-
- codspeed-criterion-compat
180+
include:
181+
- package: codspeed-divan-compat
182+
- package: codspeed-divan-compat-examples
183+
- package: codspeed-criterion-compat
184+
bench: criterion_example
185+
- package: codspeed-criterion-compat
186+
bench: test_benches
187+
- package: codspeed-criterion-compat
188+
bench: criterion_integration_main
189+
- package: codspeed-criterion-compat
190+
bench: criterion_integration_fibonaccis
191+
- package: codspeed-criterion-compat
192+
bench: criterion_integration_with_inputs
193+
- package: codspeed-criterion-compat
194+
bench: criterion_integration_measurement_overhead
184195
steps:
185196
- uses: actions/checkout@v4
186197
with:
@@ -197,14 +208,14 @@ jobs:
197208
run: |
198209
# Remove the cargo config else it forces instrumentation mode
199210
rm -f .cargo/config.toml
200-
cargo codspeed build -p ${{ matrix.package }}
211+
cargo codspeed build -p ${{ matrix.package }} ${{ matrix.bench && format('--bench {0}', matrix.bench) || '' }}
201212
202213
- name: Run the benchmarks
203214
uses: CodSpeedHQ/action@main
204215
env:
205216
MY_ENV_VAR: "YES"
206217
with:
207-
run: cargo codspeed run
218+
run: cargo codspeed run ${{ matrix.bench && format('--bench {0}', matrix.bench) || '' }}
208219
mode: walltime
209220

210221
walltime-macos-test:

crates/criterion_compat/Cargo.toml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,18 @@ harness = false
5353
name = "criterion_integration_main"
5454
harness = false
5555

56+
[[bench]]
57+
name = "criterion_integration_fibonaccis"
58+
harness = false
59+
60+
[[bench]]
61+
name = "criterion_integration_with_inputs"
62+
harness = false
63+
64+
[[bench]]
65+
name = "criterion_integration_measurement_overhead"
66+
harness = false
67+
5668
[[bench]]
5769
name = "test_benches"
5870
harness = false

crates/criterion_compat/benches/criterion_integration/mod.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
#![allow(dead_code)]
2+
13
pub mod compare_functions;
24
pub mod custom_measurement;
35
// pub mod external_process;
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
use codspeed_criterion_compat::criterion_main;
2+
3+
mod criterion_integration;
4+
5+
criterion_main! {
6+
criterion_integration::compare_functions::fibonaccis,
7+
}

crates/criterion_compat/benches/criterion_integration_main.rs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,12 @@ use codspeed_criterion_compat::criterion_main;
33
mod criterion_integration;
44

55
criterion_main! {
6-
criterion_integration::compare_functions::fibonaccis,
76
// criterion_integration::external_process::benches, FIXME: Currently doesn't work
87
criterion_integration::iter_manual::benches,
98
criterion_integration::iter_with_large_drop::benches,
109
criterion_integration::iter_with_large_setup::benches,
1110
criterion_integration::iter_with_setup::benches,
12-
criterion_integration::with_inputs::benches,
1311
criterion_integration::special_characters::benches,
14-
criterion_integration::measurement_overhead::benches,
1512
criterion_integration::custom_measurement::benches,
1613
criterion_integration::sampling_mode::benches,
1714
criterion_integration::sleep::benches,
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
use codspeed_criterion_compat::criterion_main;
2+
3+
mod criterion_integration;
4+
5+
criterion_main! {
6+
criterion_integration::measurement_overhead::benches,
7+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
use codspeed_criterion_compat::criterion_main;
2+
3+
mod criterion_integration;
4+
5+
criterion_main! {
6+
criterion_integration::with_inputs::benches,
7+
}

0 commit comments

Comments
 (0)