Vendor things
This commit is contained in:
parent
5deceec006
commit
977e3c17e5
19434 changed files with 10682014 additions and 0 deletions
61
third-party/vendor/winnow/examples/ini/bench.rs
vendored
Normal file
61
third-party/vendor/winnow/examples/ini/bench.rs
vendored
Normal file
|
|
@ -0,0 +1,61 @@
|
|||
use winnow::combinator::repeat;
|
||||
use winnow::prelude::*;
|
||||
|
||||
mod parser;
|
||||
mod parser_str;
|
||||
|
||||
fn bench_ini(c: &mut criterion::Criterion) {
|
||||
let str = "[owner]
|
||||
name=John Doe
|
||||
organization=Acme Widgets Inc.
|
||||
|
||||
[database]
|
||||
server=192.0.2.62
|
||||
port=143
|
||||
file=payroll.dat
|
||||
\0";
|
||||
|
||||
let mut group = c.benchmark_group("ini");
|
||||
group.throughput(criterion::Throughput::Bytes(str.len() as u64));
|
||||
group.bench_function(criterion::BenchmarkId::new("bytes", str.len()), |b| {
|
||||
b.iter(|| parser::categories.parse_peek(str.as_bytes()).unwrap());
|
||||
});
|
||||
group.bench_function(criterion::BenchmarkId::new("str", str.len()), |b| {
|
||||
b.iter(|| parser_str::categories.parse_peek(str).unwrap())
|
||||
});
|
||||
}
|
||||
|
||||
fn bench_ini_keys_and_values(c: &mut criterion::Criterion) {
|
||||
let str = "server=192.0.2.62
|
||||
port=143
|
||||
file=payroll.dat
|
||||
\0";
|
||||
|
||||
fn acc<'s>(i: &mut parser::Stream<'s>) -> PResult<Vec<(&'s str, &'s str)>> {
|
||||
repeat(0.., parser::key_value).parse_next(i)
|
||||
}
|
||||
|
||||
let mut group = c.benchmark_group("ini keys and values");
|
||||
group.throughput(criterion::Throughput::Bytes(str.len() as u64));
|
||||
group.bench_function(criterion::BenchmarkId::new("bytes", str.len()), |b| {
|
||||
b.iter(|| acc.parse_peek(str.as_bytes()).unwrap());
|
||||
});
|
||||
}
|
||||
|
||||
fn bench_ini_key_value(c: &mut criterion::Criterion) {
|
||||
let str = "server=192.0.2.62\n";
|
||||
|
||||
let mut group = c.benchmark_group("ini key value");
|
||||
group.throughput(criterion::Throughput::Bytes(str.len() as u64));
|
||||
group.bench_function(criterion::BenchmarkId::new("bytes", str.len()), |b| {
|
||||
b.iter(|| parser::key_value.parse_peek(str.as_bytes()).unwrap());
|
||||
});
|
||||
}
|
||||
|
||||
criterion::criterion_group!(
|
||||
benches,
|
||||
bench_ini,
|
||||
bench_ini_keys_and_values,
|
||||
bench_ini_key_value
|
||||
);
|
||||
criterion::criterion_main!(benches);
|
||||
Loading…
Add table
Add a link
Reference in a new issue