Commit graph

11 commits

Author SHA1 Message Date
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