为什么Node.js heapdump显示已编译的代码?

pch*_*chu 2 memory-leaks v8 node.js

嗨第一次调查Node.js应用程序中的内存泄漏.通过Chrome Profiler中的heapdump快照读取,我看到(编译代码)有一个条目,请参阅附件.我认为Javascript不是编译的,与Java不同.有人可以点灯吗?

在此输入图像描述

此外,与JProfiler不同,并且编写代码的方式(没有正式的构造函数),很难找到泄漏,到目前为止快照提供的信息并不是很有用,我已经搜索了一段时间,到目前为止还没有有关阅读这些快照的有用信息,有什么建议吗?

谢谢!

Vya*_*rov 5

(compiled code)确实是指V8的JIT编译器生成的代码.今天浏览器使用的所有JavaScript VM都使用分层自适应JIT编译 - 否则将无法实现良好的性能.事实上,V8根本没有翻译.