package moonpool
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=6f4edc335dfa1a5d9349509b6dd7501b6f59f68cd743eceec42aacd8d27df57f
sha512=338d9f42c3306616953649600f54cefe3d57deacf8b809c56d402d0c510705f9a90b4ea68907fa5a52ad77d51f159575358891a1dfb8dfea69c7fad05f6676d2
CHANGES.md.html
0.4
add
Fut.{reify_error,bind_reify_error}
full lifecycle for worker domains, where a domain will shutdown if no thread runs on it, after a short delay.
fix: generalize type of
create_arg
perf: in
Bb_queue
, only signal condition on push if queue was empty
0.3
add
Fork_join
for parallelizing computations. This is only available on OCaml 5.x because it relies on effects.add
Fork_join.{for_,map_array,map_list}
add
Fork_join.all_{list,init}
add
Pool.with_
add a channel module
add
Runner
, changePool
to produce aRunner.t
add a
Lock
moduleadd support for domain-local-await when installed
add
Fut.await
for OCaml >= 5.0fix: Fork_join.both_ignore now has a more general type
expose
Suspend_
and its internal effect with an unstability alert. This is intended for implementors ofRunner
only.port
cpp.ml
from containers, replace previous codegen with it. This will provide better flexibility for supporting multiple versions of OCaml in the future.add
Pool.run_wait_block
; renamePool.run
intoPool.run_async
fix: in blocking queue,
pop
works on a non empty closed queue
0.2
add
Fut.for_list
add
around_task
toPool.create
add
Pool.shutdown_without_waiting
add
Pool.num_tasks
add
Fut.is_done
add
Blocking_queue.size
add
Fut.for_array
to easily iterate on an array in paralleladd
Fut.get_or_fail{,_exn}
perf: limit number of work queues in pool
perf: use multiple queues and non-blocking work-stealing from them, in pool this improves the behavior for many small tasks by reducing contention on each queue
fix: fut: actually run all map/bind callbacks in pool if provided
0.1.1
fix(fut): fix bug when calling
wait_list []
fix: join_array on arrays of length=1 had a bound error
0.1
initial release