代码分析器如何不正确
Posted
技术标签:
【中文标题】代码分析器如何不正确【英文标题】:How code profilers can be incorrect 【发布时间】:2013-04-24 05:56:50 【问题描述】:我已经阅读并体验过性能分析器有时是不正确的。有时它们会为某些函数生成不正确的运行时间,并显示实际上并不存在的调用图。我想知道这些错误通常是如何发生的,这些错误的主要原因是什么?
【问题讨论】:
【参考方案1】:这个问题很广泛,因为很多东西都被称为分析器,测量不同的东西,从内存分配到管道刷新。
部分问题是概念性的。例如,您(和其他人)说“某些功能的运行时间不正确”。术语“运行时”需要一个定义。它是指“所有调用的总运行时间”还是“每次调用的平均运行时间”? 它是否包括被调用的函数? 它是指 CPU 时间,还是挂钟经过的时间? 这只是模糊思维的一个例子。
许多人都有一个更深层次的概念问题。他们认为他们正在寻找“慢功能”。我不知道他们从哪里得到这个想法,可能是从班主任那里得到的。加速机会并不局限于特定功能,如果以速度为目标,您也不能忽视那些不这样做的机会。
此外,他们认为只要进行测量,这些测量的准确性就很重要。 它无助于发现速度错误。
恕我直言,与其试图诊断分析器的缺点,不如 1) 忘掉所有的 myths around the subject,2) 强调积极的一面和 learn about what does work。
【讨论】:
以上是关于代码分析器如何不正确的主要内容,如果未能解决你的问题,请参考以下文章