mirror of
https://github.com/typst/typst
synced 2025-05-14 04:56:26 +08:00
25 lines
702 B
Rust
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);
|