Modifica una única línea en el compilador GCC y consigue una mejora de rendimiento del 12% en chips Intel y AMD modernos

Escrito por

en

​​

Aunque resulta complejo y es un mundo totalmente destinado para desarrolladores e informáticos, lo cierto es que el rendimiento de tu ordenador no siempre depende de los componentes caros que le metas dentro, sino de cómo estén escritas las órdenes que le llegan. No es tanto el qué, sino más bien el cómo.

Hace unos días, otro grupo de desarrolladores tocó tres líneas en el sistema operativo Linux y logró que los discos duros leyeran un 5% más rápido.

Ahora, se ha podido realmente comprobar el aumento de velocidad en procesadores gracias a una programadora que ha conseguido que los de marcas como Intel y AMD funcionen un 12% más rápido cambiando una sola línea de texto en un programa llamado GCC. Lo que aquí queda claro, aunque ciertamente es un poco triste, es que todos estos procesadores esconden mucha potencia oculta que nunca se aprovecha.

La responsable de esta maravilla es Lili Cui, una trabajadora de Intel que se dio cuenta de que la forma en que el sistema organiza las tareas no encajaba bien con los procesadores nuevos.

Para entender bien qué es lo que realmente ha sucedido, imagina cómo trabaja un procesador moderno de Intel o AMD cuando abres un programa.

Los chips actuales intentan ser inteligentes y adelantarse a las órdenes para ir más rápido. Cuando el código llega a un momento donde debe elegir entre dos opciones, el procesador no se para a esperar la respuesta. Lo que hace es adivinar el camino más probable. Si acierta, perfecto, pero si se equivoca, ya no responde tan rápido como se esperaba.

La desarrolladora descubrió que los procesadores actuales sufren mucho más con estos fallos de lo que se pensaba. Al ser chips tan modernos y complejos, volver atrás para tomar el camino correcto atasca todo y hace que el PC pierda tiempo.

La solución la encontró al buscar la línea de código que calcula el riesgo de estos saltos en el programa GCC y le sumó un 3. Con este pequeño ajuste, el sistema se ha vuelto más desconfiado y prefiere mandar tareas seguras en lugar de jugar a la lotería.

Para aquellos que no conozcan este programa, simplemente es como un traductor en tu ordenador. Coge el texto que escribe un programador y lo convierte en los archivos que el chip puede procesar. Como resultado de ese pequeño cambio, las pruebas de rendimiento demuestran que los chips de Intel y AMD tardan menos tiempo en resolver cálculos complejos porque ya no pierden el tiempo corrigiendo decisiones equivocadas.

El cambio ya ha sido aceptado por los responsables del proyecto de software, pero se lanzará de forma oficial con la llegada de la versión GCC 17 el próximo año 2027.

Un aumento del 5% en la velocidad de almacenamiento de Linux moviendo únicamente dos líneas de código

Como se ha comentado al principio, parece que estamos viviendo unos meses dorados en lo que a mejora de eficiencia se refiere. Aparte del caso de Intel y AMD, hace unos días un programador consiguió que los discos duros vayan más rápido en Linux 7.2.

El arreglo consiste, literalmente, en coger tres líneas de código que ya estaban escritas y moverlas un poco más abajo en el archivo para que se ejecuten al final del proceso y no al principio. Gracias a esto, los discos duros ganan un 5% de velocidad con un cambio que ya ves que es mínimo.

El fallo parece que estaba en una función llamada iomap_iter(), que es la que se encarga de decirle al sistema dónde están guardados los datos en el disco. El código antiguo obligaba al procesador a limpiar la memoria del ordenador una y otra vez con una orden llamada memset, incluso cuando el proceso ya había terminado y esa limpieza no servía para nada. Al hacer ese borrado continuamente, el sistema perdía tiempo y frenaba el disco.

Al quitar esa limpieza de memoria inservible, han subido un 5% las llamadas IOPS, que son las operaciones de entrada y salida por segundo que hace tu disco. Cuanto más alto sea este número, más rápido puede tu disco duro abrir archivos pequeños, arrancar programas pesados o guardar tus cosas sin quedarse congelado.

 

Comentarios

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *