Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

approximate-now

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

approximate-now

Approximate (fast) current UNIX time.

  • 1.0.2
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
2.8K
decreased by-25.65%
Maintainers
1
Weekly downloads
 
Created
Source

approximate-now

Travis build status Coveralls NPM version Canonical Code Style Twitter Follow

Approximate (fast) current UNIX time.

Motivation

Sometimes you don't care about the exact time the event took place, but rather need to know approximately when. If your use case is performance sensitive, then Date.now() might not be the best option because it has a measurable impact to the performance. approximate-now provides an approximate (to the error of 50ms) time without a performance penalty of Date.now().

Usage

import {
  approximateTime,
} from 'approximate-now';

// `approximateTime.now` value is updated by reference every 50ms.
console.log(approximateTime.now);

Sequence guarantee

It is guaranteed that two consequent attempts to retrieve time within the same 50ms time window will have unique values, i.e.

Assuming that the current time is 0000000000000, then:

approximateTime.now; // 0000000000000
approximateTime.now; // 0000000000001
approximateTime.now; // 0000000000002

However, if approximateTime.now is accessed more than 50 times within the same 50ms time window, then the top-most value within that interval is returned repeatedly.

approximateTime.now; // 0000000000000
approximateTime.now; // 0000000000001
approximateTime.now; // 0000000000002

// approximateTime.now x 50
approximateTime.now; // 0000000000050
approximateTime.now; // 0000000000050
approximateTime.now; // 0000000000050

benchmark

Date.now()          x 19,900,411 ops/sec ±0.59% (93 runs sampled)
approximateTime.now x 82,420,291 ops/sec ±0.83% (92 runs sampled)

Use cases

Any sort of time-sensitive operations when it is sufficient to retrieve an approximate timestamp, e.g. roarr logger uses approximate-now to record the time when a log message was produced.

Keywords

FAQs

Package last updated on 12 Jan 2021

Did you know?

Socket

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
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc