Digamos que queremos compilar un proyecto grande (digamos GCC o el kernel de Linux) lo más rápido posible. ¿Una CPU con capacidad de hyperthreading (digamos, un Intel Core i7) ejecuta el compilador más rápido con hyperthreading habilitado o deshabilitado? ¿Hay algún punto de referencia publicado que pruebe esto?¿Impacto de hyperthreading en el rendimiento del compilador?
Mi comprensión de hyperthreading es que cada núcleo puede seleccionar instrucciones de dos (o más procesos). Esto generalmente hace que el núcleo sea más eficiente ya que es menos probable que las unidades funcionales estén inactivas. Sin embargo, existe la posibilidad de una penalización en el rendimiento, ya que los procesos que se ejecutan en el mismo núcleo comparten recursos como el caché y pueden interferir entre sí. Si el rendimiento realmente aumenta o no depende de la carga de trabajo.
Entonces, para una carga de trabajo del compilador, ¿aumenta el rendimiento? Si es así, por cuánto?
No tengo experiencia reciente con esto, pero la compilación no tiende a ser de E/S? – Ken
Juega con "make -j N" y mide los recursos del sistema para diferentes N? –
@Nikolai, lo haría si tuviera una CPU de Hyperthreading para jugar. Pregunto esto para saber si vale la pena comprar uno. –