Results 1654 comments of Gabriel Scherer

My reasoning is that your test exercises the DLS primitives, and started failing in 5.2 and no older realease. #12889 is the only substantial change to the implementation of DLS...

> The extra sparseness somewhat reduces the probability of accidental false sharing (50% perhaps). Is this just a guess, or have you measured this? I'm not expert, but I would...

> And then the GC promotes those to the major heap, or you otherwise publish the references to other domains, and you have false sharing again. As far as I...

Regarding unsafe code, some general OCaml recommendations would be: - never use `Obj.magic` - only use `Array.unsafe_{get,set}` when you can prove that the index is within bounds (and then why...

My mental model of false sharing is that data races on a cache line (access from two CPUs, at least one of them writing (or CASing)) are expensive. In the...

Note: in the meantime https://v2.ocaml.org/releases/4.14/api/Genlex.html and https://v2.ocaml.org/releases/4.14/api/Stream.html have the documentation, we could link to those pages from the README or even in the opam metadata. On the other hand, the...

This is a tooling issue with OSX (and also MSVC toolchains on Windows) that was worked-around upstream in the OCaml compiler, in 4.05 for OSX and much later for MSVC....

To summarize: I think that this is a compiler question with either a non-fix or a compiler-fix, not something to be fixed at the level of each affected package. I...

I'm lost. I think that the code of this test is erroneous, it is invalid for two threads to try to force the same lazy thunk concurrently. But of course...

My vague guess as what is going on: - the problem is not related to `Lazy`, but to the fact that when `main` raises `Lazy.Undefined` it never gets to call...