From 8d38bd406669dacb1c9819f92a94fda2178dc452 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20d=27Herbais=20de=20Thun?= Date: Thu, 26 Sep 2024 11:02:44 +0200 Subject: [PATCH] Single thread support (#4988) --- crates/typst-cli/src/args.rs | 2 +- crates/typst-cli/src/world.rs | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/crates/typst-cli/src/args.rs b/crates/typst-cli/src/args.rs index 5ec56555e..49761d8f2 100644 --- a/crates/typst-cli/src/args.rs +++ b/crates/typst-cli/src/args.rs @@ -225,7 +225,7 @@ pub struct SharedArgs { pub package_storage_args: PackageStorageArgs, /// Number of parallel jobs spawned during compilation, - /// defaults to number of CPUs. + /// defaults to number of CPUs. Setting it to 1 disables parallelism. #[clap(long, short)] pub jobs: Option, } diff --git a/crates/typst-cli/src/world.rs b/crates/typst-cli/src/world.rs index 7cec41011..bb491c029 100644 --- a/crates/typst-cli/src/world.rs +++ b/crates/typst-cli/src/world.rs @@ -60,7 +60,11 @@ impl SystemWorld { pub fn new(command: &SharedArgs) -> Result { // Set up the thread pool. if let Some(jobs) = command.jobs { - rayon::ThreadPoolBuilder::new().num_threads(jobs).build_global().ok(); + rayon::ThreadPoolBuilder::new() + .num_threads(jobs) + .use_current_thread() + .build_global() + .ok(); } // Resolve the system-global input path.