我正在使用Very Sleepy来分析一些 C++ 代码,我注意到在 Source 视图中,它显示了红色的逐行时间花费的测量值,在只有方法打开的行上总是有测量值或大括号,在某些情况下,与函数中的其他代码行相比,这些值相当高。
我最初的假设显示了将方法参数推入堆栈以打开花括号所花费的时间,以及弹出堆栈以用于关闭花括号所花费的时间。这是真的?
我正在使用Very Sleepy来分析一些 C++ 代码,我注意到在 Source 视图中,它显示了红色的逐行时间花费的测量值,在只有方法打开的行上总是有测量值或大括号,在某些情况下,与函数中的其他代码行相比,这些值相当高。
我最初的假设显示了将方法参数推入堆栈以打开花括号所花费的时间,以及弹出堆栈以用于关闭花括号所花费的时间。这是真的?
我在 Twitter 上从 Very Sleepy 的维护者 Richard Mitton ( @grumpydev )那里得到了答案:“很可能该功能已经过优化,因此行号不再与代码完全匹配。即全部时间在一开始就集中在一起,而不是在整个函数过程中分散。”