La empresa Canonical publicó el resultado de la evaluación del cambio en el rendimiento al reconstruir paquetes con la inclusión de optimización basada en los resultados del perfilado de código (PGO - Profile-guided optimization), que permite generar código más óptimo basado en el análisis de las características de ejecución del programa. En el transcurso del trabajo realizado, se llegó a la conclusión de que la inclusión de PGO-optimización permitió reducir la carga en la CPU en un 5-7% y acelerar el tiempo de compilación.
En el curso del experimento realizado, se midió el rendimiento de la compilación de paquetes OpenSSL, GDB, Emacs y Python3.12 en un entorno virtual QEMU, emulando un sistema RISC-V en una computadora con arquitectura x86_64. La diferencia en el rendimiento se evaluó para QEMU, compilado con las opciones predeterminadas y con la inclusión de PGO-optimización. Los paquetes a compilar se seleccionaron teniendo en cuenta que utilizan diferentes lenguajes de programación, y el volumen de código corresponde a 1-6 horas de compilación en el emulador.
Desde la perspectiva práctica, el experimento permitió lograr un aumento en el rendimiento de los entornos de compilación para la plataforma RISC-V, ejecutados mediante un emulador. Las compilaciones, que antes se llevaban a cabo en un día, se hicieron casi dos horas más rápidas al utilizar PGO-optimización, lo que permitió producir diariamente en el mismo servidor dos compilaciones completas adicionales.




Fuente: opennet.ru
