Chrome profiler中的Javascript计数函数调用

Chrome profiler中的Javascript计数函数调用,javascript,google-chrome,profiling,google-chrome-devtools,Javascript,Google Chrome,Profiling,Google Chrome Devtools,可以从Chrome profile(开发者工具)获取函数调用次数的信息吗? 我在代码中找到了如何做到这一点: console.count("Function called"); 还有一些非常古老的(2011年前后)主题和功能要求,如。但如果可以记录每个函数调用的计数,则没有新的信息 有时您会发现,一些调用在一秒钟内被调用了很多次,如果只调用一次,将大大提高性能(为执行增加一些延迟)。为了跟踪此函数,必须使用计数器。您将不会在timeline/CPU探查器中看到函数调用计数,因为Chrome D

可以从Chrome profile(开发者工具)获取函数调用次数的信息吗?
我在代码中找到了如何做到这一点:

console.count("Function called");
还有一些非常古老的(2011年前后)主题和功能要求,如。但如果可以记录每个函数调用的计数,则没有新的信息

有时您会发现,一些调用在一秒钟内被调用了很多次,如果只调用一次,将大大提高性能(为执行增加一些延迟)。为了跟踪此函数,必须使用计数器。

您将不会在timeline/CPU探查器中看到函数调用计数,因为Chrome Dev Tools中的标准探查器是采样探查器

采样探查器以预定义的间隔获取执行堆栈快照。即将执行此操作时,JS执行将暂停,并记录当前执行堆栈上的函数。这是你在时间线的火焰图中看到的

鉴于所描述的行为,应该清楚的是,采样探查器不能记录所有函数调用(可以调用函数并在两次测量暂停之间完成其执行)

还有其他可以记录所有函数调用的探查器,最容易使用的可能是。它的工作原理是检测代码(通过用度量代码包装每个函数调用来重写代码)。WTF需要更多的时间进行设置(插装步骤),并且会影响测量的时间(因为它注入了新代码),但至少可以显示所有函数调用


归根结底,没有一个分析器可以完美地用于所有跟踪作业。根据您想要测量的内容,您需要使用不同的方法。有一篇精彩的演讲详细介绍了不同的分析器,强烈建议:

如果您在较新的Chrome中运行Timeline profiler(开发频道肯定是稳定的,可能也是稳定的),那么您的源代码将在devtools中以毫秒为单位显示每个块的代码运行时间。另外,这是优化过程的第一步吗?如果函数被调用100次,但它对总时间的影响小于每秒1毫秒,该怎么办?谢谢。我知道,但我真的很想知道电话数。