From e052893759885b28f96826a392e88c0fe0a4e45f Mon Sep 17 00:00:00 2001 From: Simon Cruanes Date: Thu, 14 Dec 2023 20:48:46 -0500 Subject: [PATCH] bench: add counter --- tests/bin/emit1.ml | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/tests/bin/emit1.ml b/tests/bin/emit1.ml index 35f16423..179ddc78 100644 --- a/tests/bin/emit1.ml +++ b/tests/bin/emit1.ml @@ -11,6 +11,8 @@ let sleep_outer = ref 2.0 let n_jobs = ref 1 +let n = ref max_int + let num_sleep = Atomic.make 0 let stress_alloc_ = ref true @@ -22,13 +24,18 @@ let num_tr = Atomic.make 0 let run_job () = let@ () = Fun.protect ~finally:(fun () -> Atomic.set stop true) in let i = ref 0 in - while not @@ Atomic.get stop do + let cnt = ref 0 in + + while (not @@ Atomic.get stop) && !cnt < !n do let@ _scope = Atomic.incr num_tr; T.Trace.with_ ~kind:T.Span.Span_kind_producer "loop.outer" ~attrs:[ "i", `Int !i ] in + (* Printf.printf "cnt=%d\n%!" !cnt; *) + incr cnt; + for j = 0 to 4 do (* parent scope is found via thread local storage *) let@ scope = @@ -109,6 +116,7 @@ let () = "--sleep-outer", Arg.Set_float sleep_outer, " sleep (in s) in outer loop"; "-j", Arg.Set_int n_jobs, " number of parallel jobs"; "--bg-threads", Arg.Set_int n_bg_threads, " number of background threads"; + "-n", Arg.Set_int n, " number of iterations (default ∞)"; ] |> Arg.align in