Skip to content

Commit 2871fa4

Browse files
committed
Update criterion and switch to criterion-perf-events
1 parent 06d1cd3 commit 2871fa4

File tree

3 files changed

+11
-6
lines changed

3 files changed

+11
-6
lines changed

bench/Cargo.toml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,16 @@ edition = "2018"
55
publish = false
66

77
[dependencies]
8-
criterion = "0.3"
8+
criterion = "0.5"
99
memchr = "2.4"
1010
memmem = "0.1"
1111
sliceslice = { path = ".." }
1212
sse4-strstr = { path = "sse4-strstr", optional = true }
1313
twoway = "0.2"
1414

1515
[target.'cfg(target_os = "linux")'.dependencies]
16-
criterion-linux-perf = "0.1"
16+
criterion-perf-events = "0.4.0"
17+
perfcnt = "0.8"
1718

1819
[[bench]]
1920
name = "i386"

bench/benches/i386.rs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,10 @@ use criterion::{
44
Criterion,
55
};
66
#[cfg(target_os = "linux")]
7-
use criterion_linux_perf::{PerfMeasurement, PerfMode};
7+
use criterion_perf_events::Perf;
88
use memmem::{Searcher, TwoWaySearcher};
9+
#[cfg(target_os = "linux")]
10+
use perfcnt::linux::{HardwareEventType, PerfCounterBuilderLinux};
911
use std::{
1012
fs::File,
1113
io::{BufRead, BufReader},
@@ -295,7 +297,7 @@ criterion_group!(
295297
#[cfg(target_os = "linux")]
296298
criterion_group!(
297299
name = i386_perf_instructions;
298-
config = Criterion::default().with_measurement(PerfMeasurement::new(PerfMode::Instructions));
300+
config = Criterion::default().with_measurement(Perf::new(PerfCounterBuilderLinux::from_hardware_event(HardwareEventType::Instructions)));
299301
targets = search_short_haystack, search_long_haystack, search_random_haystack
300302
);
301303

bench/benches/random.rs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,10 @@ use criterion::{
44
BenchmarkId, Criterion,
55
};
66
#[cfg(target_os = "linux")]
7-
use criterion_linux_perf::{PerfMeasurement, PerfMode};
7+
use criterion_perf_events::Perf;
88
use memmem::{Searcher, TwoWaySearcher};
9+
#[cfg(target_os = "linux")]
10+
use perfcnt::linux::{HardwareEventType, PerfCounterBuilderLinux};
911

1012
fn search<M: Measurement>(c: &mut Criterion<M>) {
1113
let haystack = include_str!("../../data/haystack");
@@ -105,7 +107,7 @@ criterion_group!(
105107
#[cfg(target_os = "linux")]
106108
criterion_group!(
107109
name = random_perf_instructions;
108-
config = Criterion::default().with_measurement(PerfMeasurement::new(PerfMode::Instructions));
110+
config = Criterion::default().with_measurement(Perf::new(PerfCounterBuilderLinux::from_hardware_event(HardwareEventType::Instructions)));
109111
targets = search
110112
);
111113

0 commit comments

Comments
 (0)