首页 > 解决方案 > 使用同步方法测量开销的最佳方法

问题描述

我正在开发使用同步方法编写的 nodeJS 应用程序。主要用于处理文件和 spawninch 子进程。由于阻塞主线程,我需要测量开销。衡量这一点的最佳方法是什么?
我尝试使用Date.nowbefore 和 after 功能,但它给了我不可靠的结果。运行应用程序
可能很重要node main.js arguments

标签: javascriptnode.js

解决方案


使用 Node.js 内置 API

https://nodejs.org/api/perf_hooks.html

从文档复制

const { PerformanceObserver, performance } = require('perf_hooks');

const obs = new PerformanceObserver((items) => {
  console.log(items.getEntries()[0].duration);
  performance.clearMarks();
});
obs.observe({ entryTypes: ['measure'] });

performance.mark('A');
doSomeLongRunningProcess(() => {
  performance.mark('B');
  performance.measure('A to B', 'A', 'B');
});


推荐阅读