typst/benches/bench_parsing.rs
2020-08-14 19:54:49 +02:00

25 lines
702 B
Rust

use criterion::{criterion_group, criterion_main, Criterion};
use typstc::library::_std;
use typstc::syntax::parsing::{parse, ParseState};
use typstc::syntax::span::Pos;
// 28 not too dense lines.
const COMA: &str = include_str!("../tests/coma.typ");
fn parsing_benchmark(c: &mut Criterion) {
let state = ParseState { scope: _std() };
c.bench_function("parse-coma-28-lines", |b| {
b.iter(|| parse(COMA, Pos::ZERO, &state))
});
// 2800 lines of Typst code.
let long = COMA.repeat(100);
c.bench_function("parse-coma-2800-lines", |b| {
b.iter(|| parse(&long, Pos::ZERO, &state))
});
}
criterion_group!(benches, parsing_benchmark);
criterion_main!(benches);