diff --git a/Cargo.lock b/Cargo.lock index e5aaa39..6a0e863 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -256,9 +256,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.98" +version = "1.0.99" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41c270e7540d725e65ac7f1b212ac8ce349719624d7bcff99f8e2e488e8cf03f" +checksum = "96c51067fd44124faa7f870b4b1c969379ad32b2ba805aa959430ceaa384f695" [[package]] name = "cfg-expr" @@ -305,18 +305,18 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.4" +version = "4.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90bc066a67923782aa8515dbaea16946c5bcc5addbd668bb80af688e53e548a0" +checksum = "a9689a29b593160de5bc4aacab7b5d54fb52231de70122626c178e6a368994c7" dependencies = [ "clap_builder", ] [[package]] name = "clap_builder" -version = "4.5.2" +version = "4.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae129e2e766ae0ec03484e609954119f123cc1fe650337e155d03b022f24f7b4" +checksum = "2e5387378c84f6faa26890ebf9f0a92989f8873d4d380467bcd0d8d8620424df" dependencies = [ "anstyle", "clap_lex", @@ -324,9 +324,9 @@ dependencies = [ [[package]] name = "clap_lex" -version = "0.7.0" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce" +checksum = "4b82cf0babdbd58558212896d1a4272303a57bdb245c2bf1147185fb45640e70" [[package]] name = "compact_str" @@ -1491,7 +1491,7 @@ dependencies = [ [[package]] name = "ratatui-image" version = "1.0.0" -source = "git+https://github.com/itsjunetime/ratatui-image.git?branch=vb64_on_personal#8d368ca87c9b817811ba47d04d188a334e5da5a6" +source = "git+https://github.com/itsjunetime/ratatui-image.git?branch=vb64_on_personal#395a5a2ada105fba8eeaaf20589e79fd7b8e59d8" dependencies = [ "base64 0.22.1", "dyn-clone", @@ -1778,9 +1778,9 @@ dependencies = [ [[package]] name = "strum_macros" -version = "0.26.3" +version = "0.26.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7993a8e3a9e88a00351486baae9522c91b123a088f76469e5bd5cc17198ea87" +checksum = "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be" dependencies = [ "heck", "proc-macro2", @@ -1991,7 +1991,7 @@ dependencies = [ "serde", "serde_spanned", "toml_datetime", - "winnow 0.6.11", + "winnow 0.6.13", ] [[package]] @@ -2427,9 +2427,9 @@ dependencies = [ [[package]] name = "winnow" -version = "0.6.11" +version = "0.6.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56c52728401e1dc672a56e81e593e912aa54c78f40246869f78359a2bf24d29d" +checksum = "59b5e5f6c299a3c7890b876a2a587f3115162487e704907d9b6cd29473052ba1" dependencies = [ "memchr", ] diff --git a/benches/geotopo.pdf b/benches/geotopo.pdf new file mode 100644 index 0000000..8f6bc20 Binary files /dev/null and b/benches/geotopo.pdf differ diff --git a/benches/rendering.rs b/benches/rendering.rs index b9792e4..3bb7f38 100644 --- a/benches/rendering.rs +++ b/benches/rendering.rs @@ -17,9 +17,10 @@ use utils::{ start_converting_loop, start_rendering_loop, RenderState }; -const FILES: [&str; 2] = [ +const FILES: [&str; 3] = [ + "benches/adobe_example.pdf", "benches/example_dictionary.pdf", - "benches/adobe_example.pdf" + "benches/geotopo.pdf" ]; fn render_full(c: &mut Criterion) { @@ -32,7 +33,7 @@ fn render_full(c: &mut Criterion) { } fn render_to_first_page(c: &mut Criterion) { - for file in &FILES[..1] { + for file in FILES { c.bench_with_input( BenchmarkId::new("render_first_page", file), &file, @@ -54,7 +55,7 @@ fn only_converting(c: &mut Criterion) { &(all_rendered, file), |b, (rendered, _)| { b.to_async(tokio::runtime::Runtime::new().unwrap()) - .iter(|| convert_all_files(rendered.clone())) + .iter_with_setup(|| rendered.clone(), |rendered| convert_all_files(rendered)) } ); } @@ -70,7 +71,7 @@ pub async fn render_first_page(path: impl AsRef) { } = start_all_rendering(path); // we only want to render until the first page is ready to be printed - while pages.is_empty() { + while pages.iter().all(|p| p.is_none()) { tokio::select! { Some(renderer_msg) = from_render_rx.next() => { handle_renderer_msg(renderer_msg, &mut pages, &mut to_converter_tx); diff --git a/ratatui-image b/ratatui-image index 8d368ca..395a5a2 160000 --- a/ratatui-image +++ b/ratatui-image @@ -1 +1 @@ -Subproject commit 8d368ca87c9b817811ba47d04d188a334e5da5a6 +Subproject commit 395a5a2ada105fba8eeaaf20589e79fd7b8e59d8