Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source
Page
Library
Module
Module type
Parameter
Class
Class type
Source
'a Fut.t = 'a Picos.Computation.t
publicFut.make_promise
, have 'a promise = private 'a fut
spawn_ignore
now has ?on
optional paramMoonpool_fiber.spawn_top_ignore
moonpool-io
, based on picos_io
(still very experimental)thread-local-storage
0.2 with get/set APIImmediate_runner
(bug prone and didn't handle effects). Moonpool_fib.main
can be used to handle effects in the main function.Moonpool.Pool
moonpool.fib
with fibers. Fibers can use await
and spawn other fibers that will be appropriately cancelled when their parent is.moonpool-lwt
as an experimental bridge between moonpool and lwt. This allows moonpool runners to be used from within Lwt to perform background computations, and conversely to call Lwt from moonpool with some precautions.Exn_bt
to coreRunner.dummy
moonpool.forkjoin
optional (only on OCaml >= 5.0)Fut.Advanced.barrier_on_abstract_container_of_futures
Fut.map_list
moonpool.dpool
Ws_pool
: workers would exit before processing all remaining tasks upon shutdownBb_queue.transfer
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.Infix_local
and Fut.infix
are gone, replaced with a simpler Fut.Infix
module that tries to use the current runner for intermediate tasks.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