test: run more diverse pools in t_fib_rec

This commit is contained in:
Simon Cruanes 2023-10-25 22:32:57 -04:00
parent 894851f6e8
commit d9da7844e2
No known key found for this signature in database
GPG key ID: EBFFF6F283F3A2B4

View file

@ -30,9 +30,8 @@ let fib_40 : int lazy_t =
Pool.shutdown pool;
r)
let run_test () =
let run_test ~pool () =
let@ _sp = Trace.with_span ~__FILE__ ~__LINE__ "run-test" in
let@ pool = Pool.with_ ~min:8 () in
let (lazy fib_40) = fib_40 in
@ -48,6 +47,16 @@ let run_test () =
assert (res = Ok (Array.make n_fibs fib_40))
let run_test_size ~size () =
Printf.printf "test pool(%d)\n%!" size;
let@ pool = Pool.with_ ~min:size () in
run_test ~pool ()
let run_test_fifo ~size () =
Printf.printf "test fifo(%d)\n%!" size;
let@ pool = Fifo_pool.with_ ~min:size () in
run_test ~pool ()
let setup_counter () =
if Trace.enabled () then
ignore
@ -66,10 +75,11 @@ let () =
let (lazy fib_40) = fib_40 in
Printf.printf "fib 40 = %d\n%!" fib_40;
for _i = 1 to 2 do
run_test ()
done;
run_test_fifo ~size:4 ();
List.iter (fun size -> run_test_size ~size ()) [ 1; 2; 4; 8 ];
(* now make sure we can do this with multiple pools in parallel *)
let jobs = Array.init 4 (fun _ -> Thread.create run_test ()) in
let jobs = Array.init 4 (fun _ -> Thread.create (run_test_size ~size:4) ()) in
Array.iter Thread.join jobs