benchmark Line formatting
This commit is contained in:
parent
3f3892158b
commit
0c38b5bb80
|
@ -17,5 +17,8 @@ readme = "README.md"
|
||||||
criterion = "0.4.0"
|
criterion = "0.4.0"
|
||||||
|
|
||||||
[[bench]]
|
[[bench]]
|
||||||
name = "basic"
|
name = "tokenise"
|
||||||
|
harness = false
|
||||||
|
[[bench]]
|
||||||
|
name = "format"
|
||||||
harness = false
|
harness = false
|
||||||
|
|
|
@ -0,0 +1,25 @@
|
||||||
|
use std::collections::BTreeMap;
|
||||||
|
use criterion::{criterion_group, criterion_main, Criterion};
|
||||||
|
use irctokens::Line;
|
||||||
|
|
||||||
|
|
||||||
|
fn criterion_benchmark(c: &mut Criterion) {
|
||||||
|
let line = Line {
|
||||||
|
tags: Some(BTreeMap::from([
|
||||||
|
("tag1".to_string(), Some("tag1value".to_string())),
|
||||||
|
("tag2".to_string(), None),
|
||||||
|
("tag3".to_string(), Some("a;a".to_string())),
|
||||||
|
])),
|
||||||
|
source: Some(b"source".to_vec()),
|
||||||
|
command: "COMMAND".to_string(),
|
||||||
|
args: Vec::from([
|
||||||
|
b"arg1".to_vec(),
|
||||||
|
b"arg2".to_vec(),
|
||||||
|
b"arg3 with space".to_vec(),
|
||||||
|
]),
|
||||||
|
};
|
||||||
|
c.bench_function("basic", |b| b.iter(|| line.format()));
|
||||||
|
}
|
||||||
|
|
||||||
|
criterion_group!(benches, criterion_benchmark);
|
||||||
|
criterion_main!(benches);
|
|
@ -1,8 +1,8 @@
|
||||||
use criterion::{criterion_group, criterion_main, Criterion};
|
use criterion::{criterion_group, criterion_main, Criterion};
|
||||||
use irctokens::tokenise;
|
use irctokens::Line;
|
||||||
|
|
||||||
fn basic() {
|
fn basic() {
|
||||||
tokenise(b"@tag1=tag1value;tag2=;tag3 :source COMMAND arg1 arg2 :arg3 with space").unwrap();
|
Line::tokenise(b"@tag1=tag1value;tag2=;tag3 :source COMMAND arg1 arg2 :arg3 with space").unwrap();
|
||||||
}
|
}
|
||||||
|
|
||||||
fn criterion_benchmark(c: &mut Criterion) {
|
fn criterion_benchmark(c: &mut Criterion) {
|
Loading…
Reference in New Issue