Společnost Canonical zveřejnila výsledky hodnocení změny výkonu při překonstruování balíčků s aktivovanou optimalizací na základě analýzy profilování kódu (PGO - optimalizace řízená profilem), která umožňuje generovat efektivnější kód na základě analýzy vlastností provádění programu. Během prováděné práce bylo dosaženo zjištění, že zapnutí PGO optimalizace umožnilo snížit zátěž CPU o 5-7 % a urychlit čas sestavení.
Během provedeného experimentu byla měřena výkonnost sestavení balíčků OpenSSL, GDB, Emacs a Python3.12 ve virtuálním prostředí QEMU, které emuluje systém RISC-V na počítači s architekturou x86_64. Rozdíl ve výkonnosti byl hodnocen pro QEMU sestavené s výchozími možnostmi a s povolením PGO optimalizace. Testované balíčky pro sestavení byly vybrány tak, že používají různé programovací jazyky, přičemž objem kódu odpovídá 1-6 hodinám sestavování v emulátoru.
Z praktického hlediska experiment umožnil dosáhnout zlepšení výkonnosti sestavovacích prostředí pro platformu RISC-V, spuštěných pomocí emulátoru. Sestavování, které dosud trvalo celé dny, se při použití PGO optimalizace zkrátilo téměř o dvě hodiny, což umožnilo denně provádět na stejném serveru dva další úplné sestavy.




Zdroj: opennet.ru
