Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source
Page
Library
Module
Module type
Parameter
Class
Class type
Source
Bb_queue.transfer
-add Bb_queue.to_{iter,gen,seq}
Fifo_pool
, a simple pool with a single blocking queue for workloads with coarse granularity tasks that value latency (e.g. a web server)Fut.spawn_on_current_runner
Runner.{spawn_on_current_runner, await}
Moonpool
itselfNo_runner
: a runner that runs tasks synchronously in the callerthread-local-storage
to implement work stealing and spawn_on_current_runner
Fork_join.both
, only one of the two sides schedules a task, the other runs in the current thread. This reduces scheduling overhead.Pool
, now an alias to Fifo_pool
Fut.{reify_error,bind_reify_error}
create_arg
Bb_queue
, only signal condition on push if queue was emptyFork_join
for parallelizing computations. This is only available on OCaml 5.x because it relies on effects.Fork_join.{for_,map_array,map_list}
Fork_join.all_{list,init}
Pool.with_
Runner
, change Pool
to produce a Runner.t
Lock
moduleFut.await
for OCaml >= 5.0Suspend_
and its internal effect with an unstability alert. This is intended for implementors of Runner
only.cpp.ml
from containers, replace previous codegen with it. This will provide better flexibility for supporting multiple versions of OCaml in the future.Pool.run_wait_block
; rename Pool.run
into Pool.run_async
pop
works on a non empty closed queueFut.for_list
around_task
to Pool.create
Pool.shutdown_without_waiting
Pool.num_tasks
Fut.is_done
Blocking_queue.size
Fut.for_array
to easily iterate on an array in parallelFut.get_or_fail{,_exn}
wait_list []
initial release