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
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
b07d460b3f
port cpp.ml from containers, replace previous codegen with it
...
now OCaml 5-only features are truly available only on OCaml 5, instead
of just relying on the user reading the docstring.
2023-07-09 19:49:24 -04:00
Simon Cruanes
f46cc4f12c
fix: Fork_join.both_ignore now has a more general type
2023-07-05 21:55:00 -04:00
Simon Cruanes
03212e7478
fork-join: add both_ignore
2023-07-05 21:55:00 -04:00
Simon Cruanes
43487ebe49
add Fork_join.all_{list,init}
...
primitives to fork-join over n tasks
2023-07-05 21:55:00 -04:00
Simon Cruanes
45838d9607
fix: in fork-join, start sub-tasks within a handler
2023-07-05 21:55:00 -04:00
Simon Cruanes
309424a58f
move fork join into its own module
2023-07-05 21:55:00 -04:00