summaryrefslogtreecommitdiff
path: root/bench/src/bench.rs
diff options
context:
space:
mode:
authorMartin Haug <mhaug@live.de>2021-05-26 23:36:03 +0200
committerLaurenz <laurmaedje@gmail.com>2021-05-26 23:50:40 +0200
commit8e700606bb64c4ffda87cec333f7c76eae244911 (patch)
tree8d0c40b04bc61cc3e3a9cad2f7b5f2eb4a691892 /bench/src/bench.rs
parente27f6c10146240a6c8b92930b27948083f08c9b5 (diff)
Add a cache for unchanged layouts
Co-Authored-By: Laurenz <laurmaedje@gmail.com>
Diffstat (limited to 'bench/src/bench.rs')
-rw-r--r--bench/src/bench.rs7
1 files changed, 4 insertions, 3 deletions
diff --git a/bench/src/bench.rs b/bench/src/bench.rs
index 5acf15f8..f6ea9398 100644
--- a/bench/src/bench.rs
+++ b/bench/src/bench.rs
@@ -2,6 +2,7 @@ use std::path::Path;
use criterion::{criterion_group, criterion_main, Criterion};
+use typst::cache::Cache;
use typst::env::{Env, FsLoader};
use typst::eval::eval;
use typst::exec::{exec, State};
@@ -42,14 +43,14 @@ fn benchmarks(c: &mut Criterion) {
let syntax_tree = parse(&src).output;
let expr_map = eval(&mut env, &syntax_tree, &scope).output;
let layout_tree = exec(&mut env, &syntax_tree, &expr_map, state.clone()).output;
- let frames = layout(&mut env, &layout_tree);
+ let frames = layout(&mut env, &mut Cache::new(), &layout_tree);
// Bench!
bench!("parse": parse(&src));
bench!("eval": eval(&mut env, &syntax_tree, &scope));
bench!("exec": exec(&mut env, &syntax_tree, &expr_map, state.clone()));
- bench!("layout": layout(&mut env, &layout_tree));
- bench!("typeset": typeset(&mut env, &src, &scope, state.clone()));
+ bench!("layout": layout(&mut env, &mut Cache::new(), &layout_tree));
+ bench!("typeset": typeset(&mut env, &mut Cache::new(), &src, &scope, state.clone()));
bench!("pdf": pdf::export(&env, &frames));
}
}