mirror of https://github.com/xvxx/phetch
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
28 lines
719 B
Rust
28 lines
719 B
Rust
5 years ago
|
#[macro_use]
|
||
|
extern crate criterion;
|
||
|
use criterion::Criterion;
|
||
|
|
||
|
use phetch::menu;
|
||
|
use std::fs;
|
||
|
|
||
|
fn parse(txt: &str) -> menu::Menu {
|
||
|
menu::parse("benchmark", txt.to_string())
|
||
|
}
|
||
|
|
||
|
fn criterion_benchmark(c: &mut Criterion) {
|
||
|
if let Ok(raw) = fs::read_to_string("benches/sdf.txt") {
|
||
|
c.bench_function("parse sdf.org", |b| b.iter(|| parse(&raw)));
|
||
|
}
|
||
|
|
||
|
if let Ok(raw) = fs::read_to_string("benches/rpod.txt") {
|
||
|
c.bench_function("parse RPoD", |b| b.iter(|| parse(&raw)));
|
||
|
}
|
||
|
|
||
|
if let Ok(raw) = fs::read_to_string("benches/unix.txt") {
|
||
|
c.bench_function("parse UNIX docs", |b| b.iter(|| parse(&raw)));
|
||
|
}
|
||
|
}
|
||
|
|
||
|
criterion_group!(benches, criterion_benchmark);
|
||
|
criterion_main!(benches);
|