I have a system (Linux & C++) doing intensive signal/image processing operations. I would like to use PGO to improve performance of our application.
Are
Microsoft has system that is modifying conditional jumps based on the usage statistics plus it condenses frequently used pieces of code into smaller number of pages. This essentially compacts effective memory footprint several times and reduces CPU consumption for 20-50%.
This system was extensively used both in user and in kernel mode. The quality of this system was very high. In 100% of cases it was doing its job correctly. I do not see even minor down sides.
It might happen that some other similar system might be less reliable than that of Microsoft. That one from Microsoft was extremely good.