我已经阅读并体验过性能分析器有时是不正确的。有时它们会为某些函数生成不正确的运行时间,并显示实际上并不存在的调用图。我想知道这些错误通常是如何发生的,这些错误的主要原因是什么?
问问题
40 次
1 回答
1
这个问题很广泛,因为很多东西都被称为分析器,测量不同的东西,从内存分配到管道刷新。
部分问题是概念性的。例如,您(和其他人)说“某些功能的运行时间不正确”。术语“运行时”需要一个定义。它是指“所有调用的总运行时间”还是“每次调用的平均运行时间”?它是否包括被调用的函数?它是指 CPU 时间,还是挂钟经过的时间?这只是模糊思维的一个例子。
许多人有一个更深层次的概念问题。他们认为他们正在寻找“慢功能”。我不知道他们从哪里得到这个想法,可能是从班主任那里得到的。加速的机会并不局限于特定的功能,如果速度是目标,你不能忽视那些不这样做的机会。
此外,他们认为,只要他们在测量,这些测量的准确性就很重要。它无助于发现速度错误。
恕我直言,与其试图诊断分析器的缺点,不如 1)摒弃围绕该主题的所有神话,以及 2) 强调积极的一面并了解什么是有效的。
于 2013-04-24T13:12:59.523 回答