当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Node.js performance.timerify(fn[, options])用法及代码示例


performance.timerify(fn[, options])

历史
版本变化
v16.0.0

添加了直方图选项。

v16.0.0

重新实现以使用 pure-JavaScript 和计时异步函数的能力。

v8.5.0

添加于:v8.5.0


参数

此属性是 Node.js 的扩展。它在 Web 浏览器中不可用。

将一个函数包装在一个新函数中,该函数测量被包装函数的运行时间。 PerformanceObserver 必须订阅 'function' 事件类型才能访问计时详细信息。

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

function someFunction() {
  console.log('hello world');
}

const wrapped = performance.timerify(someFunction);

const obs = new PerformanceObserver((list) => {
  console.log(list.getEntries()[0].duration);

  performance.clearMarks();
  performance.clearMeasures();
  obs.disconnect();
});
obs.observe({ entryTypes: ['function'] });

// A performance timeline entry will be created
wrapped();

如果包装的函数返回一个promise,一个finally 处理程序将附加到promise 上,并且一旦调用finally 处理程序就会报告持续时间。

相关用法


注:本文由纯净天空筛选整理自nodejs.org大神的英文原创作品 performance.timerify(fn[, options])。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。