Commit graph

131 commits

Author SHA1 Message Date
Simon Cruanes
f76b713556
add Fut.is_done 2023-06-15 10:24:20 -04:00
Simon Cruanes
f18ed688e9
add Blocking_queue.size 2023-06-15 10:20:33 -04:00
Simon Cruanes
debdc8fc31
add Fut.for_array to easily iterate on an array in parallel 2023-06-14 11:38:01 -04:00
Simon Cruanes
826d1f15c8
add test 2023-06-14 11:34:44 -04:00
Simon Cruanes
dd5a177a5f
add Fut.get_or_fail{,_exn} 2023-06-14 11:33:24 -04:00
Simon Cruanes
483392986c
perf: limit number of work queues in pool 2023-06-14 11:21:11 -04:00
Simon Cruanes
1d5e962d87
Merge pull request #2 from c-cube/perf-pool-2023-06-12
perf: improve pool
2023-06-13 22:03:46 -04:00
Simon Cruanes
b084caea69
docs 2023-06-13 13:52:22 -04:00
Simon Cruanes
82af5497f8
pool: do some spinning in run, not in workers 2023-06-13 13:52:22 -04:00
Simon Cruanes
939c6e117c
perf: a few retries in the pool 2023-06-13 13:52:22 -04:00
Simon Cruanes
bde69ba33f
perf: use multiple queues and non-blocking work stealing from them 2023-06-13 13:52:22 -04:00
Simon Cruanes
a9a51b08c4
test t_tree_futs: env J to set size of pool 2023-06-12 23:17:07 -04:00
Simon Cruanes
9a922088fd
test t_tree_futs: run GC stats thread, for trace 2023-06-12 23:17:07 -04:00
Simon Cruanes
df0dae23db
detail in dune 2023-06-12 23:17:07 -04:00
Simon Cruanes
948baea4b2
fix test dune file 2023-06-12 22:22:04 -04:00
Simon Cruanes
392201445b
test: add t_tree_futs
exercises futures pretty hard.
2023-06-12 22:07:36 -04:00
Simon Cruanes
5c462dd688
add trace as test dep 2023-06-12 22:07:19 -04:00
Simon Cruanes
d766b362f1
feat fut: add infix, builds a INFIX as a 1st class module 2023-06-12 22:06:48 -04:00
Simon Cruanes
7c853861d8
feat fut: add join 2023-06-12 22:06:43 -04:00
Simon Cruanes
0177d6aee7
fix fut: actually run all map/bind callbacks if pool is provided 2023-06-12 22:06:18 -04:00
Simon Cruanes
c6157ac84d
mdx: depend on moonpool 2023-06-11 12:37:16 -04:00
Simon Cruanes
5e9470b750
comment 2023-06-11 00:06:50 -04:00
Simon Cruanes
bc949727d6
prepare for 0.1 2023-06-10 00:21:47 -04:00
Simon Cruanes
e8ba4feea1
expose Atomic 2023-06-10 00:21:46 -04:00
Simon Cruanes
7ee064fc11
more docs on Blocking_queue 2023-06-10 00:06:38 -04:00
Simon Cruanes
b4f0c1572e
expose a simple blocking queue, with a controlled API. 2023-06-10 00:02:50 -04:00
Simon Cruanes
0a4d87816d
remove chan for now, not ready 2023-06-09 23:59:11 -04:00
Simon Cruanes
77ace92ec1
add tests for futures 2023-06-09 23:57:27 -04:00
Simon Cruanes
6342705502
test: make the benchmark quicker by default 2023-06-09 23:37:20 -04:00
Simon Cruanes
72dc4414bb
makefile 2023-06-09 23:36:11 -04:00
Simon Cruanes
e820cb83ea
fix 2023-06-09 15:11:25 -04:00
Simon Cruanes
027d39e9a5
bench fib: additional parameter 2023-06-08 15:10:40 -04:00
Simon Cruanes
ab2d8d4956
perf: account for main domain when starting background domains 2023-06-08 15:08:07 -04:00
Simon Cruanes
ed4cc2550b
a warning in doc 2023-06-08 14:44:15 -04:00
Simon Cruanes
d2521472c0
refactor: rename little blocking queue 2023-06-08 14:22:35 -04:00
Simon Cruanes
b9ee0d71a1
add Chan, an atomic unbounded channel 2023-06-08 00:19:37 -04:00
Simon Cruanes
0b70060c40
perf pool: use relax() in spin loop 2023-06-08 00:19:24 -04:00
Simon Cruanes
259fee2722
perf fut: use Domain_.relax in spin loops 2023-06-08 00:07:54 -04:00
Simon Cruanes
f3228f87c7
simplify bench target in makefile 2023-06-07 21:30:00 -04:00
Simon Cruanes
c77b579caa
bench: add -niter param 2023-06-07 21:23:31 -04:00
Simon Cruanes
65b3d8de06
makefile: detail 2023-06-07 21:12:56 -04:00
Simon Cruanes
bbe96de306
makefile: add bench-fib target 2023-06-07 21:04:18 -04:00
Simon Cruanes
3d972cc0cd
add benchs/ with a basic fib test 2023-06-07 21:03:26 -04:00
Simon Cruanes
39693b0f3f
test: add a fib function using futures to parallelize 2023-06-06 23:34:20 -04:00
Simon Cruanes
bd1ada40d4
Fut: add Infix_local 2023-06-06 23:34:06 -04:00
Simon Cruanes
e618739442
s_queue: improve try_pop, add try_push 2023-06-06 23:20:52 -04:00
Simon Cruanes
d3bb7652ba
test: test running multiple pools in succession, then all at once 2023-06-05 13:04:35 -04:00
Simon Cruanes
adfa1e62cb
fix(pool): make sure the work queue is closed properly
this way we can't submit new jobs after the pool has been shutdown.
2023-06-05 13:04:10 -04:00
Simon Cruanes
6ffbd15a34
add Pool.size 2023-06-02 12:05:39 -04:00
Simon Cruanes
1f31f26edf
ugh 2023-06-01 23:20:06 -04:00