It sounds the real benefit for you is in OTP rather than anything intrinsic to Erlang&#x27;s multicore implementation.<p>&gt; not see that multicore and multi-node are related<p>There is a huge distinction in implementation, which Erlang&#x2F;OTP abstracts over for you somewhat (but not entirely...). By optimizing for the distributed (multi-node) scenario, you decouple the that work from the language implementation -- and multiple processes per CPU would benefit just as well as a cluster. A distributed cluster does not benefit from a multi-core implementation. Given the baggage most languages have with the GIL (including OCaml), optimizing for single threaded performance seems like the correct decision here.<p>With Erlang, distribution is accomplished with the epmd registry, something similar could be done with OCaml as well. As you noted, there is no OTP-like system for OCaml, but the absence of one does not hinge on any multicore implementation. Single-threaded OCaml processes handle concurrency just fine, and usually faster than Erlang, to boot.<p>Personally, if the OCaml multicore work ends up slowing down the core runtime appreciably, I&#x27;m going to be upset.