在非常昏昏欲睡的分析器中,在花括号附近显示的时间测量值代表啥?
Posted
技术标签:
【中文标题】在非常昏昏欲睡的分析器中,在花括号附近显示的时间测量值代表啥?【英文标题】:What do the time measurements presented near curly braces in Very Sleepy profiler represent?在非常昏昏欲睡的分析器中,在花括号附近显示的时间测量值代表什么? 【发布时间】:2011-09-13 10:59:09 【问题描述】:我正在使用Very Sleepy 来分析一些 C++ 代码,我注意到在源视图中,它显示了红色的逐行时间花费测量值,在只有方法的打开或关闭花括号,在某些情况下,与函数中的其他代码行相比,这些值相当高。
我最初的假设显示了将方法参数推入堆栈以打开花括号所花费的时间,以及弹出堆栈以用于关闭花括号所花费的时间。这是真的吗?
【问题讨论】:
例程是否包含分配和销毁的局部变量,例如字符串?这可能会导致显着的隐藏更新和破坏,当它发生时,那些花括号是堆栈上的行。 @MikeDunlavey 我在只有原始局部变量的方法中也看到了这一点。 嗯,我是使用this method 的人之一,毫无疑问。它会告诉你,直到指令,确切地告诉你什么需要时间。 (我有 VerySleepy 的源代码,但仅仅看它,很难说它实际上在做什么。) 【参考方案1】:Very Sleepy 的维护者 Richard Mitton (@grumpydev) 在推特上回答了这个问题:“很可能该功能已经过优化,因此行号与代码不完全匹配更多。也就是说,所有时间都在开始时集中在一起,而不是在函数的过程中分散开来。”
【讨论】:
以上是关于在非常昏昏欲睡的分析器中,在花括号附近显示的时间测量值代表啥?的主要内容,如果未能解决你的问题,请参考以下文章