Linux代码性能检测利器(五)-OProfile分析结果误区
来源:互联网 发布:淘宝号怎么实名认证呢 编辑:程序博客网 时间:2024/05/17 06:38
对于OProfile的分析结果,需要100%精确分析的童鞋可能会失望,CPU的性能计数器本身不是100%精确,而OProfile依靠它的结果进行分析,所以结果也不可能是100%精确的,但是绝大部分的情况都是可靠的。
如下面的代码示例:
循环体的最后一句“除等”语句应该是最占用CPU资源的,但是分析的结果可能是这样的:
这个问题时x86的硬件体系问题,当计数器计数溢出,IRQ请求发出,但是该硬件体系有一个特性可以延迟NMI中断(x86是同步的,当一个指令被执行时不能被中断),因此这个IRQ中断被处理时代码已经执行到了循环中的“++i”了,所以造成分析结果的不准确。现代x86体系的CPU的多执行单元以及乱序模型都可以导致问题出现。
因此,当循环体的最后一条语句非常消耗CPU时,采样结果就变得不可信了。这种情况也可能发生在分支结构中。
记住,采样有可能会被推迟从而导致采样位置偏离实际代码位置,这个是硬件问题,OProfile心有余而力不足:( 0 0
- Linux代码性能检测利器(五)-OProfile分析结果误区
- Linux代码性能检测利器(二)--OProfile之代码分析示例
- Linux代码性能检测利器(二)--OProfile之代码分析示例
- Linux代码性能检测利器(一)--OProfile概述
- Linux代码性能检测利器(四)- 获取分析结果
- Oprofile分析(android oprofile性能分析)
- Linux 平台上的 Oprofile 性能分析工具(二)
- 【Linux】linux性能分析工具oprofile移植
- gprof && oprofile 分析linux程序性能瓶颈
- Linux代码性能检测利器(三)-控制分析器opcontrol使用说明
- 性能分析工具 oprofile
- Oprofile性能分析工具
- 【性能测试】-Loadrunner性能测试结果分析(五)
- Linux下系统性能检测利器dstat
- linux 下gprof 和 oprofile 分析程序性能工具 [转]
- Linux 平台上的 Oprofile 性能分析工具
- Linux下运行OProfile进行系统性能分析
- Linux下运行OProfile进行系统性能分析
- HandBrakeCLI命令(google翻譯)
- Spotlight简单介绍及使用
- 连载:面向对象葵花宝典:思想、技巧与实践(1) - 程序设计思想的发展
- Intel 编译Boost库
- centos使之支持中文
- Linux代码性能检测利器(五)-OProfile分析结果误区
- iphone开发之用lipo合并模拟器库和真机库,发布一个通用的静态库
- select poll epoll比较
- Android笔试题
- 用GDB调试程序
- 浮点型数据的转换
- Java 开源 CMS :magnolia
- mt.exe:general error c101008d(最终原因已查明)
- iOS:UITextField中键盘的关闭