我有一个脚本,该脚本主要是网络事件的回调。回调非常快地完成。相反,该脚本需要相对较长的时间来初始化。我并不在乎初始化要花多长时间,我只想优化事件回调。如果我运行node --prof
,则大多数结果来自初始化。
如何使Node在初始化完成之前不记录任何内容?换句话说,如何以编程方式启用和禁用概要分析?
答案 0 :(得分:2)
您总是可以将输出通过管道传递到flamebearer中以获取火焰图。
node --prof app.js
node --prof-process --preprocess -j isolate*.log | npx flamebearer
它不会阻止节点对整个应用程序进行性能分析,但是它可能会为您提供足够的信息,以深入显示火焰图,并忽略您不想看到的边缘周围的碎片,例如应用程序引导程序
您也可以始终尝试在循环中执行要分析的代码,以提供更大的表示形式。或者将node --prof
与benchmark
一起使用。
答案 1 :(得分:0)
node --prof
旨在从一开始就描述整个应用程序。您可以尝试使用其他分析器,例如vTune或内置于webstorm的分析器。我会尝试的另一件事是debug。调试可用于记录事件之间的时间,我想这就是您要尝试的时间。