Je suis passé voir la réponse de la FAQ à ce sujet.
Ça n'est pas vrai. Les threads caml ne peuvent pas tourner à plusieurs simultanément, mais les processus, créés avec fork, sont gérés par le système d'exploitations et sont donc souvent répartis sur les différents processeurs/coeurs de la machine.En l'état des choses, le multi-coeur n'est pas exploitable en OCaml.
Des tests avaient été faits, et pour des tâches qui se prêtent bien au parallélisme, fork est redoutablement efficace : si on a 4 coeur, le programme va effectivement 4 fois plus vite que sur un seul coeur (et pas 2 fois ou 3 fois comme avec certaines technologies qui ajoutent beaucoup en complexité, et donc masquent un peu le gain de performances).
Partager