Simon Cruanes
73e6bf4b46
add tests for Bounded_queue
2023-10-12 20:36:55 -04:00
Simon Cruanes
078e7414bc
fixes for blocking queue
2023-10-12 20:19:10 -04:00
Simon Cruanes
9f976f4092
doc
2023-09-14 22:48:13 -04:00
Simon Cruanes
8349f315b5
some doc
2023-09-14 22:40:26 -04:00
Simon Cruanes
8ade177b0e
add Bounded_queue
2023-09-14 22:33:44 -04:00
Simon Cruanes
4059903e09
moonpool: update interface of Blocking_queue
2023-09-14 22:32:58 -04:00
Simon Cruanes
ace43c0852
add Bb_queue.transfer
2023-09-14 22:30:44 -04:00
Simon Cruanes
f90773a99a
add Bb_queue.to_{iter,gen,seq}
2023-09-12 23:07:04 -04:00
Simon Cruanes
2800a3e0a6
CI: use 5.0 to generate online docs
2023-08-29 14:34:11 -04:00
Simon Cruanes
43ca60ff15
prepare for 0.4
2023-08-29 14:26:55 -04:00
Simon Cruanes
2068088255
some comments
2023-08-29 14:26:55 -04:00
Simon Cruanes
0345b65fb4
fix build on < 5.0
2023-08-29 14:22:14 -04:00
Simon Cruanes
c4bbec092a
chore: add dune-workspace file
2023-08-29 14:22:14 -04:00
Simon Cruanes
c1b6312cad
Update src/d_pool_.ml
2023-08-29 14:22:13 -04:00
David Allsopp
c0db72b40c
Quickly hacked version joining a previous domain
...
Ensure domains have been cleaned up before re-using a slot.
2023-08-29 14:22:13 -04:00
Simon Cruanes
25d42d5b8c
doc
2023-08-29 14:22:13 -04:00
Simon Cruanes
d381b1dd12
CI for docs
2023-08-29 14:22:13 -04:00
Simon Cruanes
0f670c47d3
perf: in Bb_queue, only signal condition on push if queue was empty
2023-08-23 21:31:42 -04:00
Simon Cruanes
18d5bad2a9
domain pool: let domains live a bit longer
...
this is an optimization to ensure we don't stop/start domains too often,
which harms performance really badly.
2023-08-13 22:48:04 -04:00
Simon Cruanes
cfbcc72648
improve a bit the resource test
2023-08-13 22:47:54 -04:00
Simon Cruanes
ed531e68e1
fix: race condition in shutdown, we need to wait for domain to quit
...
risk is a tight loop of `Pool.with_`, where by not waiting for the pool
to entirely shutdown (including the domains, potentially) we risk
running out of domains in the next iterations.
2023-08-13 22:24:18 -04:00
Simon Cruanes
6c4d2cbc79
test for proper resource handling in Pool.shutdown
2023-08-13 22:24:14 -04:00
Simon Cruanes
7b0e7de94d
Merge pull request #8 from c-cube/wip-7
...
full lifecycle for worker domains
2023-08-13 17:47:58 -04:00
Simon Cruanes
e38ee31b93
bugfix: forgot to dispose of the worker state on winding down
2023-08-12 22:07:08 -04:00
Simon Cruanes
9db0a9fe28
full lifecycle for worker domains
...
domains can now stop when all worker threads running on them are done
2023-08-12 14:09:35 -04:00
Simon Cruanes
5680938a6c
fix: generalize type of create_arg
2023-08-01 12:34:13 -04:00
Simon Cruanes
aa0dea3e34
add Fut.{reify_error,bind_reify_error}
2023-07-26 16:22:42 -04:00
Simon Cruanes
d18e88a772
details in test
2023-07-17 10:54:47 -04:00
Simon Cruanes
8e9628ac81
prepare for 0.3
2023-07-16 23:36:34 -04:00
Simon Cruanes
366d26527c
another test
2023-07-16 23:21:45 -04:00
Simon Cruanes
f7d9e6c0c1
add prop test for Fork_join.map_list
2023-07-16 23:17:16 -04:00
Simon Cruanes
6c0063f9ac
more tests
2023-07-13 12:23:52 -04:00
Simon Cruanes
20240a6190
fix: Fork_join.for_ 0 must not hang
2023-07-13 12:23:25 -04:00
Simon Cruanes
e6a2afb2ba
fix readme
2023-07-10 23:31:27 -04:00
Simon Cruanes
548212ab43
add prop test for fork_join
2023-07-10 23:20:25 -04:00
Simon Cruanes
d995992917
remove Fork_join.map_reduce_commutative
...
A bit too specialized, and not hard to do with `for_`. Let's see if it shows
to be really useful.
2023-07-10 23:20:24 -04:00
Simon Cruanes
9ce94fd242
feat fork_join: add map_array and map_list
2023-07-10 23:18:26 -04:00
Simon Cruanes
1cb5342092
expose Runner
2023-07-10 22:48:04 -04:00
Simon Cruanes
6c73afbe5b
perf: optimize Fut.for_ a bit
...
remove intermediate array.
2023-07-10 11:00:34 -04:00
Simon Cruanes
0f4e115bc0
doc
2023-07-10 01:31:12 -04:00
Simon Cruanes
f081c0f8ad
tweak: guess of chunk_size in Fork_join
2023-07-10 01:23:30 -04:00
Simon Cruanes
2326ae0078
modify Fork_join.for_ to avoid the allocator.
...
The allocator means calling a closure at each step, which means local
a reference will have to be heap allocated (and worse, that floats will
be unboxed). Instead we give the function a pair of low,high bounds for
a local for.
2023-07-10 01:19:16 -04:00
Simon Cruanes
55f831bc8b
add Fork_join.{for_,map_reduce_commutative}
2023-07-10 01:14:16 -04:00
Simon Cruanes
858755e812
feat: add Pool.with_
2023-07-10 01:14:07 -04:00
Simon Cruanes
b080c962e1
test: use less aggressive numbers, my poor ram!
2023-07-10 00:01:37 -04:00
Simon Cruanes
ab675797fa
fix test
2023-07-09 22:35:39 -04:00
Simon Cruanes
e73c1a2966
tests: compat 4.x
2023-07-09 22:07:44 -04:00
Simon Cruanes
427c462778
compat 4.x
2023-07-09 22:05:42 -04:00
Simon Cruanes
68e744290b
add Chan.pop_await
2023-07-09 19:49:27 -04:00
Simon Cruanes
12df71c3ab
expose Suspend_ and its internal effect with an unstability alert
2023-07-09 19:49:27 -04:00