Mi experiencia hasta ahora me ha demostrado que incluso con procesadores multi-core, la paralelización de un algoritmo no siempre lo acelerará notablemente. De hecho, a veces puede ralentizar las cosas. ¿Cuáles son algunas buenas pistas de que un algoritmo puede acelerarse significativamente al ser paralelizado?¿Cuáles son algunos indicios de que un algoritmo debe paralelizarse?
(Por supuesto, dadas las advertencias con la optimización prematura y su correlación con el mal)
Definitivamente estoy de acuerdo aquí. Sin embargo, una cosa a tener en cuenta, que creo que Atwood echa de menos todo el tiempo en su blog, es que su programa generalmente compite con otros procesos no relacionados, también puede obtener beneficios de múltiples núcleos aquí. Pero sí, la mayor parte del tiempo se gasta en las partes más lentas del código. :) – BobbyShaftoe