1.0.6 • Published 6 years ago
hrtime-now v1.0.6
hrtime-now
Friendly API for process.hrtime with some high level - date-pretty format utilities. Ideal to measure how long it take to run a function /fragment of code.
Install
npm install --save hrtime-nowUsage
Basic: Using now() :
import {now} from 'hrtime-now'
const t0 = now()
// execute synchronous some task to measure time
console.log(`the task took ${(now()-t0)/1000000} milliseconds`)Important: the number returned by now doesn't mean anything special, i.e, is not performance.now() !
High level: pretty times with timeFrom()
Pretty print the difference between given time (previouslytaken with now() and current time). Example:
var t0 = now()
something()
log(`something took ${timeFrom(t0)}`)Could print : "somehing took 1m 29s"
High level: single statement with fromNow()
Suppose you have a (synchronous) statement like the following
const result = compileSass('./src/**/*.scss')You want to measure how long it takes:
const result = fromNow(
()=>compileSass('./src/**/*.scss'),
t=>console.log(`sass compilation took ${t}`)
)or create a log function factory and don't worry about msgs:
const logTime = (fn) => fromNow(fn, (t, hint) => console.log(`Function ${hint} took ${t}`))
// use logTime() instead of fromNow from now on without worrying to pass any msg
const result = logTime(() => compileSass('./src/**/*.scss'))
// will log something like "Function ()=>compileSass took 1s"Using time() :
import {time} from 'hrtime-now'
const t1 = time()
// execute some task to measure time
const t2 = time(t1)
console.log(`Task took ${t2/1000000}` milliseconds`)Note: If you are not using ecma6 modules, you can }require()now()` like this:
const now = require('hrtime-now').nowWorking Example:
API documentation
TODO
- asynchronous