test: make TLS test faster (do not yield as much)

This commit is contained in:
Simon Cruanes 2022-09-14 19:37:43 -04:00
parent 3e105434d9
commit 30f987d1bf
No known key found for this signature in database
GPG key ID: EBFFF6F283F3A2B4

View file

@ -2,17 +2,17 @@ module Test = (val Containers_testlib.make ~__FILE__ ())
open Test open Test
module L = CCLocal_storage;; module L = CCLocal_storage;;
t @@ fun () -> t (fun () ->
let var = L.create () in let var = L.create () in
let sum_of_res = CCAtomic.make 0 in let sum_of_res = CCAtomic.make 0 in
let n = 1_000 in let n = 10_000 in
let run1 () = let run1 () =
L.with_ var 0 @@ fun () -> L.with_ var 0 @@ fun () ->
for _i = 1 to n do for _i = 1 to n do
let x = L.get_exn var in let x = L.get_exn var in
Thread.yield (); if _i mod 50 = 0 then Thread.yield ();
L.set var (x + 1) L.set var (x + 1)
done; done;
ignore (CCAtomic.fetch_and_add sum_of_res (L.get_exn var) : int) ignore (CCAtomic.fetch_and_add sum_of_res (L.get_exn var) : int)
@ -26,4 +26,4 @@ assert_equal ~printer:string_of_int (n * 16) (CCAtomic.get sum_of_res);
(* cleanup *) (* cleanup *)
assert_equal ~printer:string_of_int 0 (L.n_entries var); assert_equal ~printer:string_of_int 0 (L.n_entries var);
true true)