Si está generando varios hilos (o procesos) al mismo tiempo, ¿es mejor generar tantos procesadores físicos o el número de procesadores lógicos, suponiendo que la tarea está vinculada a la CPU? ¿O es mejor hacer algo intermedio (por ejemplo, 3 hilos)?Hyperthreading de doble núcleo: ¿Debo usar 4 hilos o 3 o 2?
se compara el desempeño dependerá del tipo de instrucciones que están siendo ejecutado (por ejemplo, tendría acceso a memoria no local será muy diferente de aciertos de caché)? Si es así, ¿en qué casos es mejor aprovechar el hyperthreading?
Actualización:
La razón por la que estoy pidiendo es, recuerdo haber leído en alguna parte que si tiene tantas tareas como el número de procesadores virtuales, tareas en el mismo núcleo físico a veces pueden morir de hambre cierta CPU recursos y evitar que los demás obtengan tantos recursos como sea necesario, posiblemente disminuyendo el rendimiento. Es por eso que me pregunto si tener tantos hilos como núcleos virtuales es una buena idea.
+1 Ese enlace es muy informativo; ¡Gracias! – Mehrdad