Commit graph

24 commits

Author SHA1 Message Date
Simon Cruanes
8770d4fb9c
repro for #41 2025-11-12 00:25:02 -05:00
Simon Cruanes
9b3c75124e
simon/move to picos (#30)
* feat: depend on picos, use picos.exn_bt

* refactor: remove dla

* non optional dependency on thread-local-storage

it's a dep of picos anyway

* wip: use picos computations

* disable t_fib1 test, way too flaky

* feat `fut`: wrap picos computations

* detail in fut

* gitignore

* refactor core: use picos for schedulers; add Worker_loop_

we factor most of the thread workers' logic in `Worker_loop_`,
which is now shared between Ws_pool and Fifo_pool

* github actions

* feat fut: add `on_result_ignore`

* details

* wip: port to picos

* test: wip porting tests

* fix fut: trigger failing to attach doesn't signal it

* fix pool: only return No_more_tasks when local and global q empty

* format

* chore: fix CI by installing picos first

* more CI

* test: re-enable t_fib1 but with a single core fifo pool

it should be deterministic now!

* fixes after reviews

* bump minimal OCaml version to 4.13

* use `exn_bt`, not `picos.exn_bt`

* feat: optional dep on hmap, for inheritable FLS data

* format

* chore: depend on picos explicitly

* feat: move hmap-fls to Fiber.Fls

* change API for local FLS hmap

* refactor: move optional hmap FLS stuff into core/task_local_storage

* add Task_local_storage.remove_in_local_hmap

* chore: try to fix CI

* format

* chore: CI

* fix

* feat: add `Fls.with_in_local_hmap`

* chore: depend on hmap for tests

* fix test for FLS

use the inheritable keys

* chore: CI

* require OCaml 4.14 :/

* feat: add `moonpool.sync` with await-friendly abstractions

based on picos_sync

* fix: catch TLS.Not_set

* fix: `LS.get` shouldn't raise

* fix

* update to merged picos PR

* chore: CI

* fix dep

* feat: add `Event.of_fut`

* chore: CI

* remove dep on now defunct `exn_bt`

* feat: add moonpool-io

* chore: CI

* version constraint on moonpool-io

* add Event.Infix

* move to picos_io
2024-09-04 12:04:27 -04:00
Simon Cruanes
7a558bb5f3
chore: CI 2024-04-02 12:51:57 -04:00
Simon Cruanes
bfcf7f774e
chore: handpick combinations for bench-pi 2023-10-27 16:16:49 -04:00
Simon Cruanes
ddf394be90
chore: handpick set of benchmarks 2023-10-27 16:06:55 -04:00
Simon Cruanes
9e0a583a94
chore: disable -dl/-seq benchs for now, too verbose 2023-10-27 14:46:59 -04:00
Simon Cruanes
9e93ebd3bb
update benchmark fib-rec with more implementations 2023-10-27 12:26:03 -04:00
Simon Cruanes
6452ca89d1
rename Simple_pool into Fifo_pool, update doc 2023-10-25 21:55:29 -04:00
Simon Cruanes
73c2f9768c
benchs: run with both pool and simple_pool 2023-10-25 00:21:29 -04:00
Simon Cruanes
60255c0e95
test: add dep on trace-tef; add new test for scheduling issues
trying to expose that sometimes, some workers might be asleep while
others do several tasks, because they're sleeping on the "wrong" queue
2023-10-24 10:03:46 -04:00
Simon Cruanes
b8a31b088f
fix @since tags 2023-10-19 11:08:28 -04:00
Simon Cruanes
43ca60ff15
prepare for 0.4 2023-08-29 14:26:55 -04:00
Simon Cruanes
c4bbec092a
chore: add dune-workspace file 2023-08-29 14:22:14 -04:00
Simon Cruanes
55f831bc8b
add Fork_join.{for_,map_reduce_commutative} 2023-07-10 01:14:16 -04:00
Simon Cruanes
30d2560a27
add π-computing benchmark 2023-07-09 19:49:25 -04:00
Simon Cruanes
72dc4414bb
makefile 2023-06-09 23:36:11 -04:00
Simon Cruanes
027d39e9a5
bench fib: additional parameter 2023-06-08 15:10:40 -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
d9eee6eb50
details 2023-06-01 22:34:14 -04:00
Simon Cruanes
4e321b9c46
add little benchmark tool in test + start script 2023-05-31 23:25:31 -04:00
Simon Cruanes
1619f8b773
initial commit 2023-05-30 23:03:05 -04:00