Me temo que la respuesta sigue siendo, como siempre ha sido, "depende de lo que estés haciendo".
Sí, hay rendimientos decrecientes al agregar más y más núcleos, y siempre los habrá si solo ejecuta una aplicación a la vez .
Incluso en una aplicación multiproceso bien hecha, muchas de las tareas que se realizan se realizan para esperar los componentes más lentos de la máquina (disco duro, conexión en red) sin afectar el rendimiento aparente para el usuario. Estos no pueden mejorarse mediante una mayor paralelización, por lo que cualquier límite de aceleración teórico es inalcanzable para fines prácticos.
Vale la pena señalar que hay pocas aplicaciones "grandes" que no son multiproceso (solo consulte el equivalente del Administrador de tareas de su sistema operativo, debería poder decirle cuántas pertenecen a cada proceso; mi Firefox está usando 31, por ejemplo). )
Por supuesto, ejecutar múltiples aplicaciones no interdependientes no está tan limitado por estos límites. A medida que agrega más núcleos, puede ejecutar más aplicaciones al mismo tiempo con una pequeña caída en el rendimiento del procesamiento (sin embargo, el rendimiento del disco duro, las redes, etc., no escala tan bien). En la práctica, incluso esto también está sujeto a rendimientos decrecientes ya que hay una sobrecarga inevitable para administrar la distribución del trabajo entre núcleos, tuberías de comunicación, etc.
Por ejemplo, esta publicación de Tom's Hardware (de 2009) intenta analizar el rendimiento de unos pocos procesadores multinúcleo en aplicaciones simultáneas, ejecutando un juego junto con un escaneo AVG (los cuales probablemente sean multiproceso). Los procesadores de cuatro, tres y dos núcleos funcionan de manera similar solo con el juego, pero agregan el escaneo AVG simultáneo y el rendimiento (medido por FPS promedio) cae en un 22%, 40% y 59% respectivamente.
Por lo tanto, si bien un núcleo cuádruple no ofreció un aumento del rendimiento sobre un núcleo doble cuando se ejecuta una aplicación intensiva, tan pronto como apareció otra tarea intensiva, terminó siendo el doble de eficaz. Desafortunadamente, no puedo encontrar mucho más que investigue qué tan bien esto escala con más núcleos y tareas más intensas.
Y luego debe tomar nota de las características modernas de los procesadores como Turbo Boost de Intel / Turbo Core de AMD. Estas características particulares permiten que un procesador de múltiples núcleos estacione los núcleos (póngalos en un modo más lento y de baja potencia) y use la energía de reserva para overclockear los núcleos que permanecen activos, lo que permite que el procesador se optimice para proporcionar tanta potencia de procesamiento como sea posible para la cantidad de tareas que se le presentan.