diff options
| author | Laurenz <laurmaedje@gmail.com> | 2020-11-27 22:35:42 +0100 |
|---|---|---|
| committer | Laurenz <laurmaedje@gmail.com> | 2020-11-27 22:35:42 +0100 |
| commit | 475ca7a62ec99f0b4d8319410b7ee3134a5fcfec (patch) | |
| tree | 75037761e1da5681b2971e79e605f95903ba6032 /bench/src/bench.rs | |
| parent | bc997b7c3380d5f516f0aa58efc3dd513d75fafb (diff) | |
Basic environment and resource loader 🏞
Diffstat (limited to 'bench/src/bench.rs')
| -rw-r--r-- | bench/src/bench.rs | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/bench/src/bench.rs b/bench/src/bench.rs index bc13ed01..c232d4bf 100644 --- a/bench/src/bench.rs +++ b/bench/src/bench.rs @@ -4,6 +4,7 @@ use std::rc::Rc; use criterion::{criterion_group, criterion_main, Criterion}; use fontdock::fs::{FsIndex, FsSource}; +use typst::env::{Env, ResourceLoader}; use typst::eval::{eval, State}; use typst::export::pdf; use typst::font::FontLoader; @@ -25,23 +26,25 @@ fn benchmarks(c: &mut Criterion) { index.search_dir(FONT_DIR); let (files, descriptors) = index.into_vecs(); - let loader = Rc::new(RefCell::new(FontLoader::new( - Box::new(FsSource::new(files)), - descriptors, - ))); + let env = Rc::new(RefCell::new(Env { + fonts: FontLoader::new(Box::new(FsSource::new(files)), descriptors), + resources: ResourceLoader::new(), + })); // Prepare intermediate results and run warm. let state = State::default(); let tree = parse(COMA).output; - let document = eval(&tree, state.clone()).output; - let layouts = layout(&document, Rc::clone(&loader)); + let document = eval(&tree, Rc::clone(&env), state.clone()).output; + let layouts = layout(&document, Rc::clone(&env)); // Bench! bench!("parse-coma": parse(COMA)); - bench!("eval-coma": eval(&tree, state.clone())); - bench!("layout-coma": layout(&document, Rc::clone(&loader))); - bench!("typeset-coma": typeset(COMA, state.clone(), Rc::clone(&loader))); - bench!("export-pdf-coma": pdf::export(&layouts, &loader.borrow())); + bench!("eval-coma": eval(&tree, Rc::clone(&env), state.clone())); + bench!("layout-coma": layout(&document, Rc::clone(&env))); + bench!("typeset-coma": typeset(COMA, Rc::clone(&env), state.clone())); + + let env = env.borrow(); + bench!("export-pdf-coma": pdf::export(&layouts, &env)); } criterion_group!(benches, benchmarks); |
