mirror of
https://github.com/c-cube/moonpool.git
synced 2025-12-06 03:05:30 -05:00
perf: optimize Fut.for_ a bit
remove intermediate array.
This commit is contained in:
parent
0f4e115bc0
commit
6c73afbe5b
1 changed files with 4 additions and 2 deletions
|
|
@ -308,10 +308,12 @@ let wait_list (a : _ t list) : unit t =
|
|||
join_container_ a ~iter:List.iter ~len:List.length ~map:(fun _f _ -> ())
|
||||
|
||||
let for_ ~on n f : unit t =
|
||||
let futs = Array.init n (fun i -> spawn ~on (fun () -> f i)) in
|
||||
join_container_
|
||||
~len:(fun () -> n)
|
||||
~iter:(fun f () -> Array.iter f futs)
|
||||
~iter:(fun yield () ->
|
||||
for i = 0 to n - 1 do
|
||||
yield (spawn ~on (fun () -> f i))
|
||||
done)
|
||||
~map:(fun _f () -> ())
|
||||
()
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue