Je crains que la réponse soit toujours, comme elle l'a toujours été, "cela dépend de ce que vous faites".
Oui, l'ajout de plus en plus de cœurs diminue, et il y en aura toujours si vous n'exécutez qu'une seule application à la fois .
Même dans une application multi-thread bien conçue, la plupart des tâches qui sont exécutées le sont afin d'attendre les composants les plus lents de la machine - disque dur, mise en réseau - sans affecter les performances apparentes pour l'utilisateur. Celles-ci ne peuvent pas être améliorées par une plus grande parallélisation, de sorte que toute limite d'accélération théorique est inaccessible à des fins pratiques.
Il convient de noter qu'il existe peu de "grandes" applications qui ne sont pas multithreads (il suffit de vérifier l'équivalent du gestionnaire de tâches de votre système d'exploitation, il devrait être en mesure de vous dire combien appartiennent à chaque processus - mon Firefox utilise actuellement 31, par exemple ).
Bien sûr, l'exécution de plusieurs applications non interdépendantes n'est pas aussi limitée par ces limites. Au fur et à mesure que vous ajoutez plus de cœurs, vous pouvez exécuter plus d'applications simultanément avec peu de baisse des performances de traitement (les performances du disque dur, de la mise en réseau, etc. ne sont toutefois pas aussi évolutives). En pratique, même cela est également sujet à des rendements décroissants car il y a des frais généraux inévitables pour gérer la répartition du travail entre les cœurs, les pipelines de communication, etc.
Par exemple, ce post de Tom's Hardware (de 2009) tente d'examiner les performances de quelques processeurs multicœurs sous des applications simultanées - en exécutant un jeu en même temps qu'un scan AVG (qui sont probablement tous deux multithreads). Les processeurs quadruple, triple et double cœur fonctionnent tous de manière similaire avec le jeu uniquement, mais ajoutent le scan AVG simultané et les performances (mesurées en FPS moyen) chutent respectivement de 22%, 40% et 59%.
Ainsi, alors qu'un quad core n'offrait aucune amélioration des performances par rapport à un dual core lors de l'exécution d'une application intensive, dès qu'une autre tâche intensive est apparue, elle a fini par être deux fois plus performante. Malheureusement, je ne trouve pas grand-chose d'autre qui étudie à quel point cela évolue avec plus de cœurs et des tâches plus intensives.
Et puis vous devez prendre note des caractéristiques modernes des processeurs tels que Turbo Boost d'Intel / Turbo Core d'AMD. Ces caractéristiques particulières permettent à un processeur multi-cœurs de garer les cœurs (les mettre dans un mode plus lent, à faible puissance) et d'utiliser l'énergie de rechange pour overclocker les cœurs qui restent actifs - permettant au processeur de s'optimiser pour fournir autant de puissance de traitement que possible pour le nombre de tâches qui lui sont présentées.