package moonpool
Pools of threads supported by a pool of domains
Install
Dune Dependency
Authors
Maintainers
Sources
moonpool-0.4.tbz
sha256=6f4edc335dfa1a5d9349509b6dd7501b6f59f68cd743eceec42aacd8d27df57f
sha512=338d9f42c3306616953649600f54cefe3d57deacf8b809c56d402d0c510705f9a90b4ea68907fa5a52ad77d51f159575358891a1dfb8dfea69c7fad05f6676d2
doc/CHANGES.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
module - add support for domain-local-await when installed
- add
Fut.await
for OCaml >= 5.0 - fix: 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 parallel - add
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
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>