How to get accurate ticks from a timer (high‑resolution timer) in TypeScript

1 Answer

0 votes
// Start timer (nanoseconds)
const start: any = process.hrtime.bigint();

// Do some work
for (let i: number = 0; i < 1_000_000; i++) {
    // simple loop
}

// Stop timer
const end: any = process.hrtime.bigint();

// Raw ticks (nanoseconds)
const ticks: number = end - start;

// Convert to time units
const nanoseconds: number  = Number(ticks);
const microseconds: number = nanoseconds / 1_000;
const milliseconds: number = nanoseconds / 1_000_000;
const seconds: number      = nanoseconds / 1_000_000_000;

// Frequency (ticks per second)
const frequency = 1_000_000_000; // hrtime = 1 tick per nanosecond

// Print results
console.log("Elapsed ticks (ns):", ticks.toString());
console.log("Elapsed ms:", milliseconds);
console.log("Elapsed us:", microseconds);
console.log("Elapsed seconds:", seconds);
console.log("Timer frequency:", frequency, "Hz");
console.log("Is high resolution: true");




/*
run:

Elapsed ticks (ns): 2290451
Elapsed ms: 2.290451
Elapsed us: 2290.451
Elapsed seconds: 0.002290451
Timer frequency: 1000000000 Hz
Is high resolution: true

*/

 



answered May 9 by avibootz
...