在生产环境中使用PGO(轮廓引导优化)的风险 [英] The risks of using PGO (profile-guided optimization) with production environment
问题描述
使用PGO时应注意哪些风险/潜在问题?
单元测试+ E2E测试足以验证PGO没有破坏任何东西?
基于使用统计加上它来修改条件跳转将经常使用的代码片段缩减为较少数量的页面。这实际上压缩了有效的内存占用几次,并减少了20-50%的CPU消耗。
这个系统在用户和内核模式中被广泛使用。这个系统的质量非常高。在100%的情况下,它正在做正确的工作。
这可能发生一些其他类似的系统可能比微软更不可靠。那个来自微软非常好。
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 there any risks / potential issues I should be aware of when using PGO ?
Are unit tests + E2E tests enough to verify that PGO didn't break anything ?
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.
这篇关于在生产环境中使用PGO(轮廓引导优化)的风险的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!