Компания Canonical публикува резултата от оценката на промяната в производителността при повторно сглобяване на пакети с включване на оптимизация на базата на резултатите от профилирането на кода (PGO - оптимизация, ръководена от профилиране), която позволява генерирането на по-оптимален код на базата на анализа на особеностите на изпълнението на програмата. По време на проведената работа е направен извод, че включването на PGO-оптимизацията е позволило да се намали натоварването на CPU с 5-7% и да се ускори времето за сглобяване.
По време на проведен експеримент беше измерена производителността на сглобяване на пакетите OpenSSL, GDB, Emacs и Python3.12 в виртуалната среда QEMU, емулираща системата RISC-V на компютър с архитектура x86_64. Разликата в производителността беше оценявана за QEMU, сглобен с опциите по подразбиране и с включване на PGO-оптимизацията. Тестваните пакети за сглобяване бяха избрани с оглед на факта, че в тях се използват различни програмни езици, а обемът на кода съответства на 1-6 часа сглобяване в емулятора.
От практическа гледна точка, експериментът позволи постигането на повишаване на производителността на сглобените среди за платформата RISC-V, стартирани с помощта на емулатора. Сглобяванията, които преди се извършваха за един ден, при включване на PGO-оптимизацията започнаха да се извършват почти два часа по-бързо, което даде възможност ежедневно да се произвеждат на същото сървър две допълнителни пълни сглобявания.




Източник: opennet.ru
