Gracias a la magia del multithreading simultáneo en AMD y el Hyperthreading en Intel, hoy los procesadores modernos pueden manipular dos hilos por cada núcleo físico. Bajo diferentes cargas, esto ayuda a mejorar el rendimiento de una aplicación, pero no siempre es fácil para el usuario identificar cuáles son los hilos más «fuertes» y ajustar así la afinidad de un proceso. En este punto es cuando interviene la aplicación ThreadRacer, del mismo desarrollador de Process Lasso y CPUBalance.
Los últimos datos relacionados al multithreading involucran casi de forma exclusiva a la seguridad. Spectre y Meltdown dejaron a la industria de cabeza, y los fabricantes están haciendo todo lo posible para reducir su impacto, pero en el fondo empezamos a detectar cierta intención de abandonar a SMT/HT y ofrecer sólo núcleos reales. Sin ir demasiado lejos, dos de los últimos tres procesadores de Intel (el Core i5-9600k y el Core i7-9700k) no poseen Hyperthreading, y AMD demostró que no sufre inconvenientes mayores a la hora de colocar 16 o 32 núcleos en nuestros escritorios. Ahora, eso no significa que los hilos lógicos sean inútiles. Todo lo contrario: Como usuarios debemos saber cuáles son los hilos más fuertes de nuestros chips, pero necesitamos la ayuda de una herramienta externa.
ThreadRacer: Un benchmark para cada hilo de tu CPU
Esa mezcla entre identificación y benchmark queda a cargo de ThreadRacer. Si el nombre te suena familiar, es porque estamos ante una herramienta creada por el mismo desarrollador que nos ofrece a Process Lasso, y a su hermano menor CPUBalance. La idea detrás de ThreadRacer es seleccionar los hilos disponibles, dejar que el benchmark corra, y estudiar de cerca su desempeño. Cada uno de los hilos presentará su rendimiento como un porcentaje del hilo que más rápido está funcionando. Durante mi prueba he notado que el primer hilo es un poco más lento, mientras que el resto se mantiene bastante parejo.
¿Por qué es importante esto? Todavía queda una gigantesca cantidad de aplicaciones que sólo pueden aprovechar un hilo único en nuestro sistema, ignorando al resto. Si sabes cuál tiende a ser el más robusto, con un simple ajuste de afinidad podrás asignar esa aplicación al hilo en cuestión, obteniendo el máximo rendimiento. Admito que ThreadRacer requiere un poco de experimentación, y sólo nos permite controlar los primeros ocho hilos disponibles, pero si quieres exprimir al máximo a tu procesador, no es una mala herramienta para tener cerca.