Socket
Socket
Sign inDemoInstall

@springworks/high-resolution-millisecond-timer

Package Overview
Dependencies
0
Maintainers
1
Versions
42
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    @springworks/high-resolution-millisecond-timer

A small util to create timers that can measure sub-millisecond time in a consistently accurate way.


Version published
Weekly downloads
136
increased by56.32%
Maintainers
1
Install size
10.5 kB
Created
Weekly downloads
 

Readme

Source

@springworks/high-resolution-millisecond-timer

A small util to create timers that can measure sub-millisecond time in a consistently accurate way.

yarn add @springworks/high-resolution-millisecond-timer

Usage

import { createHighResolutionMillisecondTimer } from '@springworks/high-resolution-millisecond-timer';

// Create a timer
const timer = createHighResolutionMillisecondTimer();

// Run the code that you want to measure.
someFunction();

// Save the elapsed time in a variable.
// This is the number of milliseconds that `someFunction` took to run but in nanosecond resolution.
const elapsed_time = timer();

console.log(`someFunction took ${elapsed_time} ms to run.`);
// This will log something like "someFunction took 3.214684 ms to run."

// Even invoking the function immediately will result in a tangible measurement.
createHighResolutionMillisecondTimer()(); // <- note the extra invocation.
// this will return something like 0.001802

Why use this instead of new Date() or Date.now()?

The Date API gets it's current time from the operating system and as such is subject to clock drift. This means that the OS can decide to change what time it is between your measurements. You can even end up going back in time...

This function uses the HR Timer API and does not depend on what the OS think the clock is right now.

FAQs

Last updated on 23 Aug 2021

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc