Canonical has published the results of evaluating performance changes when rebuilding packages with optimizations based on profiling results (PGO — Profile-guided optimization), which allows for the generation of more optimized code based on an analysis of program execution characteristics. The study concluded that enabling PGO optimization reduced CPU load by 5-7% and accelerated build times.
During the experiment, the performance of building OpenSSL, GDB, Emacs, and Python3.12 packages was measured in a QEMU virtual environment simulating a RISC-V system on an x86_64 architecture computer. The performance difference was assessed for QEMU built with default options and with PGO optimization enabled. The selected packages for building were chosen based on their use of different programming languages, with the code volume corresponding to 1-6 hours of build time in the emulator.
From a practical standpoint, the experiment achieved an increase in the performance of build environments for the RISC-V platform running via the emulator. Build processes that previously took a day were completed almost two hours faster with PGO optimization enabled, allowing for the daily production of the same server two additional complete builds.




Source: opennet.ru
