mirror of
https://github.com/typst/typst
synced 2025-05-20 12:05:27 +08:00
Remove unmaintained benchmarks (#3569)
This commit is contained in:
parent
cf2f789c07
commit
5dc6ce0022
9
Cargo.lock
generated
9
Cargo.lock
generated
@ -857,14 +857,6 @@ version = "0.1.4"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "94bf16dd62ea2bec617a6f8a3e1ba03107311783069a647787ac689d1f35321e"
|
checksum = "94bf16dd62ea2bec617a6f8a3e1ba03107311783069a647787ac689d1f35321e"
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "iai"
|
|
||||||
version = "0.1.1"
|
|
||||||
source = "git+https://github.com/typst/iai?rev=3f0f927#3f0f92736408ebce6545808b98e0cb2aea89b7dd"
|
|
||||||
dependencies = [
|
|
||||||
"cfg-if",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "iana-time-zone"
|
name = "iana-time-zone"
|
||||||
version = "0.1.60"
|
version = "0.1.60"
|
||||||
@ -2789,7 +2781,6 @@ dependencies = [
|
|||||||
"clap",
|
"clap",
|
||||||
"comemo",
|
"comemo",
|
||||||
"ecow",
|
"ecow",
|
||||||
"iai",
|
|
||||||
"once_cell",
|
"once_cell",
|
||||||
"oxipng",
|
"oxipng",
|
||||||
"rayon",
|
"rayon",
|
||||||
|
@ -50,7 +50,6 @@ fs_extra = "1.3"
|
|||||||
hayagriva = "0.5.1"
|
hayagriva = "0.5.1"
|
||||||
heck = "0.4"
|
heck = "0.4"
|
||||||
hypher = "0.1.4"
|
hypher = "0.1.4"
|
||||||
iai = { git = "https://github.com/typst/iai", rev = "3f0f927" }
|
|
||||||
icu_properties = { version = "1.4", features = ["serde"] }
|
icu_properties = { version = "1.4", features = ["serde"] }
|
||||||
icu_provider = { version = "1.4", features = ["sync"] }
|
icu_provider = { version = "1.4", features = ["sync"] }
|
||||||
icu_provider_adapters = "1.4"
|
icu_provider_adapters = "1.4"
|
||||||
|
@ -17,7 +17,6 @@ typst-ide = { workspace = true }
|
|||||||
clap = { workspace = true }
|
clap = { workspace = true }
|
||||||
comemo = { workspace = true }
|
comemo = { workspace = true }
|
||||||
ecow = { workspace = true }
|
ecow = { workspace = true }
|
||||||
iai = { workspace = true }
|
|
||||||
once_cell = { workspace = true }
|
once_cell = { workspace = true }
|
||||||
oxipng = { workspace = true }
|
oxipng = { workspace = true }
|
||||||
rayon = { workspace = true }
|
rayon = { workspace = true }
|
||||||
@ -31,10 +30,5 @@ name = "tests"
|
|||||||
path = "src/tests.rs"
|
path = "src/tests.rs"
|
||||||
harness = false
|
harness = false
|
||||||
|
|
||||||
[[bench]]
|
|
||||||
name = "benches"
|
|
||||||
path = "src/benches.rs"
|
|
||||||
harness = false
|
|
||||||
|
|
||||||
[lints]
|
[lints]
|
||||||
workspace = true
|
workspace = true
|
||||||
|
@ -1,133 +0,0 @@
|
|||||||
use comemo::{Prehashed, Track, Tracked};
|
|
||||||
use iai::{black_box, main, Iai};
|
|
||||||
use typst::diag::FileResult;
|
|
||||||
use typst::eval::Tracer;
|
|
||||||
use typst::foundations::{Bytes, Datetime};
|
|
||||||
use typst::syntax::{FileId, Source};
|
|
||||||
use typst::text::{Font, FontBook};
|
|
||||||
use typst::visualize::Color;
|
|
||||||
use typst::{Library, World};
|
|
||||||
use unscanny::Scanner;
|
|
||||||
|
|
||||||
const TEXT: &str = include_str!("../typ/compiler/bench.typ");
|
|
||||||
|
|
||||||
main!(
|
|
||||||
bench_decode,
|
|
||||||
bench_scan,
|
|
||||||
bench_parse,
|
|
||||||
bench_edit,
|
|
||||||
bench_eval,
|
|
||||||
bench_compile,
|
|
||||||
bench_render,
|
|
||||||
);
|
|
||||||
|
|
||||||
fn bench_decode(iai: &mut Iai) {
|
|
||||||
iai.run(|| {
|
|
||||||
// We don't use chars().count() because that has a special
|
|
||||||
// superfast implementation.
|
|
||||||
let mut count = 0;
|
|
||||||
let chars = black_box(TEXT).chars();
|
|
||||||
for _ in chars {
|
|
||||||
count += 1;
|
|
||||||
}
|
|
||||||
count
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
fn bench_scan(iai: &mut Iai) {
|
|
||||||
iai.run(|| {
|
|
||||||
let mut count = 0;
|
|
||||||
let mut scanner = Scanner::new(black_box(TEXT));
|
|
||||||
while scanner.eat().is_some() {
|
|
||||||
count += 1;
|
|
||||||
}
|
|
||||||
count
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
fn bench_parse(iai: &mut Iai) {
|
|
||||||
iai.run(|| typst::syntax::parse(TEXT));
|
|
||||||
}
|
|
||||||
|
|
||||||
fn bench_edit(iai: &mut Iai) {
|
|
||||||
let mut source = Source::detached(TEXT);
|
|
||||||
iai.run(|| black_box(source.edit(1168..1171, "_Uhr_")));
|
|
||||||
}
|
|
||||||
|
|
||||||
fn bench_eval(iai: &mut Iai) {
|
|
||||||
let world = BenchWorld::new();
|
|
||||||
let route = typst::engine::Route::default();
|
|
||||||
let mut tracer = typst::eval::Tracer::new();
|
|
||||||
iai.run(|| {
|
|
||||||
typst::eval::eval(world.track(), route.track(), tracer.track_mut(), &world.source)
|
|
||||||
.unwrap()
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
fn bench_compile(iai: &mut Iai) {
|
|
||||||
let world = BenchWorld::new();
|
|
||||||
let mut tracer = Tracer::new();
|
|
||||||
iai.run(|| typst::compile(&world, &mut tracer));
|
|
||||||
}
|
|
||||||
|
|
||||||
fn bench_render(iai: &mut Iai) {
|
|
||||||
let world = BenchWorld::new();
|
|
||||||
let mut tracer = Tracer::new();
|
|
||||||
let document = typst::compile(&world, &mut tracer).unwrap();
|
|
||||||
iai.run(|| typst_render::render(&document.pages[0].frame, 1.0, Color::WHITE))
|
|
||||||
}
|
|
||||||
|
|
||||||
struct BenchWorld {
|
|
||||||
library: Prehashed<Library>,
|
|
||||||
book: Prehashed<FontBook>,
|
|
||||||
font: Font,
|
|
||||||
source: Source,
|
|
||||||
}
|
|
||||||
|
|
||||||
impl BenchWorld {
|
|
||||||
fn new() -> Self {
|
|
||||||
let data = typst_assets::fonts().next().unwrap();
|
|
||||||
let font = Font::new(Bytes::from_static(data), 0).unwrap();
|
|
||||||
let book = FontBook::from_fonts([&font]);
|
|
||||||
Self {
|
|
||||||
library: Prehashed::new(Library::default()),
|
|
||||||
book: Prehashed::new(book),
|
|
||||||
font,
|
|
||||||
source: Source::detached(TEXT),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
fn track(&self) -> Tracked<dyn World> {
|
|
||||||
(self as &dyn World).track()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
impl World for BenchWorld {
|
|
||||||
fn library(&self) -> &Prehashed<Library> {
|
|
||||||
&self.library
|
|
||||||
}
|
|
||||||
|
|
||||||
fn book(&self) -> &Prehashed<FontBook> {
|
|
||||||
&self.book
|
|
||||||
}
|
|
||||||
|
|
||||||
fn main(&self) -> Source {
|
|
||||||
self.source.clone()
|
|
||||||
}
|
|
||||||
|
|
||||||
fn source(&self, _: FileId) -> FileResult<Source> {
|
|
||||||
unimplemented!()
|
|
||||||
}
|
|
||||||
|
|
||||||
fn file(&self, _: FileId) -> FileResult<Bytes> {
|
|
||||||
unimplemented!()
|
|
||||||
}
|
|
||||||
|
|
||||||
fn font(&self, _: usize) -> Option<Font> {
|
|
||||||
Some(self.font.clone())
|
|
||||||
}
|
|
||||||
|
|
||||||
fn today(&self, _: Option<i64>) -> Option<Datetime> {
|
|
||||||
unimplemented!()
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
x
Reference in New Issue
Block a user