mirror of
https://github.com/c-cube/moonpool.git
synced 2025-12-06 03:05:30 -05:00
60 lines
1.8 KiB
Markdown
60 lines
1.8 KiB
Markdown
|
|
# 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`, change `Pool` to produce a `Runner.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 of `Runner` 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`; rename `Pool.run` into `Pool.run_async`
|
|
- fix: in blocking queue, `pop` works on a non empty closed queue
|
|
|
|
# 0.2
|
|
|
|
- add `Fut.for_list`
|
|
- add `around_task` to `Pool.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
|