2 ms·
StandardML implementations have had good multicore support for decades now despite having only a tiny fraction of the users and development time. Meanwhile, Oca
by hajile 5y ago
StandardML implementations have had good multicore support for decades now despite having only a tiny fraction of the users and development time. Meanwhile, Ocaml has been promising support for years.
What in Ocaml makes this so much harder to implement?
- rwmj 5y agoOCaml (or its immediate predecessor[1]) had a multicore implementation, but it was dropped because of its complexity and effect on single-thread performance. The challenge is to add it back in a way that is maintainable and doesn't negatively affect current users. [1] https://www.researchgate.net/publication/2774662_Concurrent_generational_garbage_collector_for_a_multithreaded_implementation_of_ML https://www.researchgate.net/publication/2774662_Concurrent_...
- sadiq 5y agoAs the sibling comment mentions, the hard part is actually retrofitting multicore whilst maintaining compatibility _and_ performance. Our paper last year covers most of why this is tricky: https://arxiv.org/abs/2004.11663 https://arxiv.org/abs/2004.11663