La société Canonical a publié le résultat de l'évaluation des changements de performance lors de la recompilation des packages en incluant l'optimisation basée sur les résultats de profilage de code (PGO - Profile-guided optimization), permettant de générer un code plus optimisé basé sur l'analyse des caractéristiques d'exécution du programme. Dans le cadre de ce travail, il a été conclu que l'inclusion de l'optimisation PGO a permis de réduire la charge sur le CPU de 5 à 7 % et d'accélérer le temps de compilation.
Au cours de l'expérience, la performance de compilation des packages OpenSSL, GDB, Emacs et Python3.12 a été mesurée dans un environnement virtuel QEMU, émulant un système RISC-V sur un ordinateur avec architecture x86_64. La différence de performance a été évaluée pour QEMU, compilé avec les options par défaut et avec l'optimisation PGO activée. Les packages testés pour la compilation ont été sélectionnés de manière à utiliser différents langages de programmation, et le volume de code correspond à 1 à 6 heures de compilation dans l'émulateur.
D'un point de vue pratique, l'expérience a permis d'améliorer la performance des environnements de compilation pour la plateforme RISC-V, exécutés à l'aide de l'émulateur. Les travaux de compilation, qui auparavant prenaient une journée, se font désormais presque deux heures plus rapidement grâce à l'optimisation PGO, ce qui permet de réaliser quotidiennement deux compilations complètes supplémentaires. le serveur deux compilations complètes supplémentaires.




Source : opennet.ru
