From ab2d8d4956d78caac8dadc91d128c76f60dc692b Mon Sep 17 00:00:00 2001 From: Simon Cruanes Date: Thu, 8 Jun 2023 15:08:07 -0400 Subject: [PATCH] perf: account for main domain when starting background domains --- src/d_pool_.ml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/d_pool_.ml b/src/d_pool_.ml index 4619712b..189a02cb 100644 --- a/src/d_pool_.ml +++ b/src/d_pool_.ml @@ -12,7 +12,9 @@ type worker = { q: (unit -> unit) Bb_queue.t } [@@unboxed] let domains_ : worker array lazy_t = lazy - (let n = Domain_.recommended_number () in + ((* number of domains we spawn. Note that we spawn n-1 domains + because there already is the main domain running. *) + let n = Domain_.recommended_number () - 1 in Array.init n (fun i -> let q = Bb_queue.create () in let _domain : domain = Domain_.spawn (fun () -> work_ i q) in