bench: add filter

This commit is contained in:
Loric ANDRE 2026-02-19 14:57:44 +01:00
parent 003243a93a
commit 1a90f4f52f
2 changed files with 66 additions and 0 deletions

View file

@ -90,3 +90,7 @@ unexpected_cfgs = { level = "warn", check-cfg = ['cfg(feature, values("test-util
[[bench]] [[bench]]
name = "read_and_match" name = "read_and_match"
harness = false harness = false
[[bench]]
name = "filter"
harness = false

62
benches/filter.rs Normal file
View file

@ -0,0 +1,62 @@
use criterion::{Criterion, criterion_group, criterion_main};
use skim::prelude::*;
fn criterion_benchmark(c: &mut Criterion) {
c.bench_function("default", |b| {
b.iter(|| {
let opts = SkimOptionsBuilder::default()
.cmd("cat bench_data.txt")
.filter("test")
.build()?;
Skim::run_with(opts, None)
});
});
c.bench_function("regex", |b| {
b.iter(|| {
let opts = SkimOptionsBuilder::default()
.cmd("cat bench_data.txt")
.filter("test")
.regex(true)
.build()?;
Skim::run_with(opts, None)
});
});
c.bench_function("frizbee", |b| {
b.iter(|| {
let opts = SkimOptionsBuilder::default()
.cmd("cat bench_data.txt")
.filter("test")
.algorithm(FuzzyAlgorithm::Frizbee)
.build()?;
Skim::run_with(opts, None)
});
});
c.bench_function("clangd", |b| {
b.iter(|| {
let opts = SkimOptionsBuilder::default()
.cmd("cat bench_data.txt")
.filter("test")
.algorithm(FuzzyAlgorithm::Clangd)
.build()?;
Skim::run_with(opts, None)
});
});
c.bench_function("ansi", |b| {
b.iter(|| {
let opts = SkimOptionsBuilder::default()
.cmd("cat bench_data.txt")
.filter("test")
.ansi(true)
.build()?;
Skim::run_with(opts, None)
});
});
}
criterion_group!(
name = benches;
config = Criterion::default().sample_size(10);
targets = criterion_benchmark
);
criterion_main!(benches);