diff options
| author | Laurenz <laurmaedje@gmail.com> | 2019-10-09 19:45:40 +0200 |
|---|---|---|
| committer | Laurenz <laurmaedje@gmail.com> | 2019-10-09 19:46:42 +0200 |
| commit | f22a3070001e9c8db6fcc7b83b036111a6559a3d (patch) | |
| tree | a14c437a2ef71b08af5847c4f38330f668f724c2 /benches | |
| parent | b96a7e0cf3c97463ecb746d859b675541a427774 (diff) | |
Extract into separate repository 🧱
Diffstat (limited to 'benches')
| -rw-r--r-- | benches/complete.rs | 48 | ||||
| -rw-r--r-- | benches/font.rs | 46 |
2 files changed, 0 insertions, 94 deletions
diff --git a/benches/complete.rs b/benches/complete.rs deleted file mode 100644 index 5b2010f4..00000000 --- a/benches/complete.rs +++ /dev/null @@ -1,48 +0,0 @@ -use bencher::Bencher; -use typeset::Typesetter; -use typeset::font::FileSystemFontProvider; -use typeset::export::pdf::PdfExporter; - - -fn prepare<'p>() -> (Typesetter<'p>, &'static str) { - let src = include_str!("../test/shakespeare.tps"); - - let mut typesetter = Typesetter::new(); - let provider = FileSystemFontProvider::from_listing("../fonts/fonts.toml").unwrap(); - typesetter.add_font_provider(provider); - - (typesetter, src) -} - -/// Benchmarks only the parsing step. -fn parsing(b: &mut Bencher) { - let (typesetter, src) = prepare(); - b.iter(|| { typesetter.parse(src).unwrap(); }); -} - -/// Benchmarks only the layouting step. -fn layouting(b: &mut Bencher) { - let (typesetter, src) = prepare(); - let tree = typesetter.parse(src).unwrap(); - b.iter(|| { typesetter.layout(&tree).unwrap(); }); -} - -/// Benchmarks the full typesetting step. -fn typesetting(b: &mut Bencher) { - let (typesetter, src) = prepare(); - b.iter(|| { typesetter.typeset(src).unwrap(); }); -} - -/// Benchmarks only the exporting step. -fn exporting(b: &mut Bencher) { - let (typesetter, src) = prepare(); - let doc = typesetter.typeset(src).unwrap(); - let exporter = PdfExporter::new(); - b.iter(|| { - let mut buf = Vec::new(); - exporter.export(&doc, &typesetter.loader(), &mut buf).unwrap(); - }); -} - -bencher::benchmark_group!(benches, parsing, layouting, typesetting, exporting); -bencher::benchmark_main!(benches); diff --git a/benches/font.rs b/benches/font.rs deleted file mode 100644 index cfcb5c1f..00000000 --- a/benches/font.rs +++ /dev/null @@ -1,46 +0,0 @@ -use bencher::Bencher; -use typeset::font::{*, FontClass::*}; -use typeset::style::TextStyle; - - -/// Benchmarks just the char-by-char font loading. -fn font_loading(b: &mut Bencher) { - let provider = FileSystemFontProvider::from_listing("../fonts/fonts.toml").unwrap(); - let mut font_loader = FontLoader::new(); - font_loader.add_font_provider(provider); - - let text = include_str!("../test/shakespeare.tps"); - - let mut style = TextStyle { - classes: vec![Regular], - fallback: vec![ - Family("Helvetica".to_string()), - Family("Computer Modern".to_string()), - Serif, - Monospace, - ], - font_size: 12.0, - line_spacing: 1.0, - paragraph_spacing: 1.0, - }; - - b.iter(|| { - for character in text.chars() { - match character { - '_' => style.toggle_class(Italic), - '*' => style.toggle_class(Bold), - '\n' | '[' | ']' => {}, - _ => { - let _font = font_loader.get(FontQuery { - character, - classes: style.classes.clone(), - fallback: style.fallback.clone(), - }).unwrap(); - }, - } - } - }); -} - -bencher::benchmark_group!(benches, font_loading); -bencher::benchmark_main!(benches); |
