Mientras que el rendimiento de LLVM/Clang ha mejorado mucho a lo largo de los años y para x86_64 y AArch64 pueden estar codo con codo con el compilador GCC, la feroz batalla de rendimiento no ha terminado. Con LLVM/Clang 14.0 que se lanzará en los primeros meses de 2022, habrá más trabajo de rendimiento con un compromiso reciente en particular que muestra mucha promesa.

El desarrollador de LLVM, Djordje Todorovic, consiguió recientemente una mejora en el pase de movimiento de código invariante de bucle (LICM) de LLVM para poder levantar una CARGA sin ALMACENAR. El parche explica:”Al hacer promoción de carga/tienda dentro de LICM, si no podemos demostrar que es seguro hundir la tienda que ganamos izar la carga, aunque podemos probar que la carga podría desreferenciarse y moverse fuera del bucle. Este parche implementa la promoción de carga moviéndola en el preencabezado del bucle insertando el PHI adecuado en el bucle. La tienda se mantiene como está en el bucle. Al hacer esto, evitamos hacer la carga desde una ubicación de memoria en cada iteración”. La mejora de este pase ayuda a abordar este informe de error sobre las oportunidades perdidas para la promoción del registro.

Pero para aquellos que no están interesados ​​en los componentes internos del compilador y solo están interesados ​​en la ganancia neta, Todorovic compartió algunos resultados de referencia y comentarios:

Vaya, los números (usando el @OpenBenchmark ; X86_64-O3) después de https://t.co/AN6QsRSQG3 se ve increíble: pic.twitter.com/4MGgaFdwfK

-Djordje Todorovic (@djtodoro) 3 de diciembre de 2021

En nuestro punto de referencia de PostgreSQL Está viendo un rendimiento alrededor de un 12% más alto con este parche de elevación de carga, y una variedad de otras cargas de trabajo, desde la compresión XZ hasta C-Ray, MrBayes y otras, están experimentando mejoras generalmente en un pequeño porcentaje.

Esta mejora y un sinnúmero de otros parches serán parte de LLVM Clang 14.0 que, siguiendo su cadencia de lanzamiento habitual, debería aparecer estable alrededor de marzo.

Categories: IT Info