在生产环境中使用PGO(轮廓引导优化)的风险 [英] The risks of using PGO (profile-guided optimization) with production environment

查看:256
本文介绍了在生产环境中使用PGO(轮廓引导优化)的风险的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个执行密集的信号/图像处理操作的系统(Linux& C ++)。我想使用PGO来提高我们的应用程序的性能。



使用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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆