javascript - 如何测量 JavaScript 引擎中的 CPU 缓存和预取缺失?

标签 javascript v8 cpu-cache javascriptcore chakracore

我想要一种命令行方式来评估 Node.js 应用程序每瓦性能较低的低级贡献者。即 JIT 生成的 native 代码的 L1、L2 和预取缓存未命中,以及 JavaScript 运行时本身的 JIT/GC/解释器。

JavaScriptCore、v8 和 ChakraCore 都提供用于运行基准测试的命令行 REPL。我可以在基于 Intel、AMD 和 ARMv6 的硬件上运行哪些分析器来以合理的精度收集这些统计数据?我希望有一种方法可以在至少两个操作系统上执行此操作:Windows、Mac 和/或 Linux。

最佳答案

V8 和 Linux perf 工具相互支持,请参阅 the documentation 。如果您拥有最新的系统(IIRC 内核 >= 4.4 且 perf >= 4.10),您可以跳过编译自己的内核和 perf 的步骤。

关于javascript - 如何测量 JavaScript 引擎中的 CPU 缓存和预取缺失?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44661355/

相关文章:

javascript - 如果数组的任何元素等于 n 或数组的两个元素之和等于 n,则返回 true - 提高性能

javascript - 如何在 elasticsearch 中获取每种索引类型的计数?

node.js - 在生产环境中使用 node v8 选项是否安全?

javascript - V8 内联缓存如何与删除和计算属性访问一起使用?

node.js - nodejs的任何反模式?

c++ - 是 x86-64 多核机器上 C++ Atomic 中 int 的读写

Javascript 列表包含一个字符串

javascript - 使用 AJAX 发送多个字段

x86 - L1高速缓存 Controller 的顺序以处理来自CPU的内存请求

cpu - 英特尔高速缓存分配技术是否允许一组中的 CPU 对另一组中的高速缓存行进行命中?