Skip to main content
Performance.timerify - perf_hooks - Node documentation
method Performance.timerify

Usage in Deno

import { type Performance } from "node:perf_hooks";
Performance.timerify<T extends (...params: any[]) => any>(
fn: T,
options?: TimerifyOptions,
): T

This property is an extension by Node.js. It is not available in Web browsers.

Wraps a function within a new function that measures the running time of the wrapped function. A PerformanceObserver must be subscribed to the 'function' event type in order for the timing details to be accessed.

import {
  performance,
  PerformanceObserver,
} from '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();

If the wrapped function returns a promise, a finally handler will be attached to the promise and the duration will be reported once the finally handler is invoked.

Type Parameters

T extends (...params: any[]) => any

Parameters

fn: T
optional
options: TimerifyOptions

Return Type

T