我想要一种命令行方式来评估低级贡献者,以降低Node.js应用程序的每瓦性能。即,JIT生成的本机代码的L1,L2和预取高速缓存未命中,以及JavaScript运行时本身的JIT / GC / interpteter。
JavaScriptCore,v8和ChakraCore都提供用于运行基准测试的命令行REPL。我可以在基于Intel,AMD和ARMv6的硬件上运行哪些分析器以合理的准确度收集这些统计信息?我更愿意在至少两个操作系统中实现此目的:Windows,Mac和/或Linux。
答案 0 :(得分:3)
V8和Linux perf
工具相互支持,请参阅the documentation。如果您有一个非常新的系统(IIRC内核> = 4.4和perf> = 4.10),您可以跳过编译自己的内核和perf
的步骤。
答案 1 :(得分:0)
您可以使用Valgrind。引用他们的FAQ,“Valgrind可以处理动态生成的代码,只要生成的代码不会被其他生成的代码覆盖”。
它也支持各种平台,包括X86 / Linux,X86 / Darwin等