KC Sivaramakrishnan
KC Sivaramakrishnan
Which is the branch used in `ocaml-multicore/core`? Is is `monorepo-0.14`? How does the workflow file pick this branch? Should we make `monorepo-0.14` the default branch on `ocaml-multicore/core` because that's the...
## Repeated computation bug Neither of the two available choices in the current design for handling nested lazy computation bug is satisfying. I reproduce here the example from https://github.com/ocaml-multicore/ocaml-multicore/pull/338#issuecomment-635144020 ```ocaml...
> it seems like this could be solved by storing a user-provided token from an extensible variant in the lazy whilst it is being forced rather than storing the domain...
> Multicore implementation keeps the closure reachable, because it is reinstated if it fails with RacyLazy Agreed. Restoring the lazy computation is a mistake for several reasons.
> They remark that CAS-ing twice on each force, as Multicore does as well, has an important cost in practice, +50% mean slowdown (and +200% on some benchmarks) compared to...
@sabine Thanks. Is there a branch where we can follow along this work? > It seems like a another option is to turn sampled_gc_stats into a pointer and allocate the...
Don't use `caml_mem_map`. That goes through `mmap` on Linux and is really only to be used for the allocation of the minor heaps for the domains. For allocating blocks of...
I really don't want more hooks if possible. Callbacks are terrible in general and doubly so in C.
Hooks may be the simplest solution considering the alternatives. However, I don't know when they are supposed to free the memory? If the main domain terminating frees the memory, there...
Thanks. `caml_stat_alloc` raises an OCaml exception on failure, whereas the `_noexc` version returns a `NULL` value on failure. Some of these allocations occur before the program even gets into OCaml....