我对分析我的Node.js应用程序很感兴趣.我用--prof旗帜启动它,并获得了一个v8.log文件.我采用了windows-tick-processor并获得了一个人类可读的分析日志.在问题的底部是日志文件中的一些小摘录,我完全无法理解.
我得到了滴答统计方法.我不明白totalvs nonlib意味着什么.此外,我不明白为什么有些事情的前缀LazyCompile,Function,Stub或其他条款.
我希望得到的最佳答案是刻度处理器输出格式的完整文档/指南,完整地解释每个术语,结构等...
除此之外,我只是不明白lazy-compile是什么.是汇编吗?是不是每个函数都只编译一次?那么编译怎么可能是我的应用程序执行的重要部分?该应用程序运行了几个小时来生成此日志,我假设内部JavaScript编译需要几毫秒.这表明懒惰编译是每个函数不会发生一次,但在某种代码评估期间会发生?这是否意味着每当我有一个函数定义(例如嵌套函数)时,内部函数每次都会"懒惰编译"?
我在任何地方都找不到任何关于此的信息,我一直在谷歌搜索DAYS ......
我也意识到有很多探查器标志.其他参考资料也欢迎.
[JavaScript]: ticks total nonlib name 88414 7.9% 20.1% LazyCompile: *getUniqueId C:\n\dev\SCNA\infra\lib\node-js\utils\general-utils.js:16 22797 2.0% 5.2% LazyCompile: *keys native v8natives.js:333 14524 1.3% 3.3% LazyCompile: Socket._flush C:\n\dev\SCNA\runtime-environment\load-generator\node_modules\zmq\lib\index.js:365 12896 1.2% 2.9% LazyCompile: BasicSerializeObject native json.js:244 12346 1.1% 2.8% LazyCompile: BasicJSONSerialize native json.js:274 9327 0.8% 2.1% LazyCompile: * C:\n\dev\SCNA\runtime-environment\load-generator\node_modules\zmq\lib\index.js:194 7606 0.7% 1.7% LazyCompile: *parse native json.js:55 5937 0.5% 1.4% LazyCompile: *split native string.js:554 5138 …