// Start timer (nanoseconds)
const start = process.hrtime.bigint();
// Do some work
for (let i = 0; i < 1_000_000; i++) {
// simple loop
}
// Stop timer
const end = process.hrtime.bigint();
// Raw ticks (nanoseconds)
const ticks = end - start;
// Convert to time units
const nanoseconds = Number(ticks);
const microseconds = nanoseconds / 1_000;
const milliseconds = nanoseconds / 1_000_000;
const seconds = nanoseconds / 1_000_000_000;
// Frequency (ticks per second)
const frequency = 1_000_000_000; // hrtime = 1 GHz resolution
// 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");
/*
run:
Elapsed ticks (ns): 2219579
Elapsed ms: 2.219579
Elapsed us: 2219.579
Elapsed seconds: 0.002219579
Timer frequency: 1000000000 Hz
*/