Multithreading : Un mauvais design ?
Cet article remet en question l'idée reçue que le multithreading améliore toujours les performances. L'auteur soutient que les processeurs modernes ne fonctionnent pas comme un modèle de mémoire partagée, comme on l'enseigne souvent, et que le multithreading introduit une surcharge importante due à des problèmes de cohérence de cache et à des primitives de synchronisation, ce qui entraîne une dégradation des performances et une complexité accrue. Dupliquer le code monothread sur plusieurs cœurs est présenté comme une approche plus efficace, utilisant le temps processeur plus efficacement et aboutissant à un code plus simple et plus facile à maintenir. L'auteur préconise des conceptions monothread comme Node.js et les modèles Actor comme supérieures pour l'utilisation des ressources CPU modernes, malgré la perception que le multithreading est une approche plus sophistiquée.
Lire plus