hrtime

0.5.0 • Public • Published

hrtime: a module with a simple interface to POSIX system high resolution time functions for the node.js runtime framework.

Author Rune Karlsen runelabs@gmail.com Website http://github.com/runelabs/hrtime

Provides the following functions - all returning nanosecond numbers as string: time() - realtime clock in nanoseconds uptime() - system uptime in nanoseconds cputime() - accumulated time spent by cpu on the process in nanoseconds initime() - time of module initialization in nanoseconds runtime() - time since module was initialized in nanoseconds resolution() - time resolution of the realtime clock in nanoseconds

Requires the "node.js" package which is a "CommonJS" implementatotion. See www.nodejs.org and www.commonjs.org .

To build this module for node.js, after having installed node.js, run node-waf configure node-waf build

Then to use this module cp hrtime.node

and include in your node.js Javascript the following var hrtime = require "./hrtime";

which will load the hrtime module from the same directory as your script.

Example usage:

(1)
var rtime = hrtime.runtime(); // time since the node.js process was started, running time of program

(2)
var stime = hrtime.cputime(); // starttime of measurement
var mytime = hrtime.time(); // example operation/block being measured or profiled
var etime = hrtime.cputime(); // endtime of measurement
var dtime = etime - stime; // cpu time/effort used on the operation measured/profiled

(3)
var atime = hrtime.uptime(); // some point in time since the system was booted
var mytime = hrtime.time(); // example operation/block being measured or profiled
var btime = hrtime.uptime() // next point in time since the system was booted
var dtime = btime - atime; // nanoseconds between the two points in time, real time elapsed before completion

(4)
var time1 = hrtime.time(); // real time clock at first point
var restime = hrtime.resolution(); // example operation/block being measured or profiled
var time1 = hrtime.time(); // real time clock at second point
var dtime = time2 - time1; // nanoseconds between the two points in time, real time elapsed before completion

Note that in example (4) the clock can be adjusted by daylight savings time, system adjustments like NTP or otherwise, and thus might give unexpected timing/profiling results.

Further function details:

  • NAME: time()

  • RETURNS: An ASCII string representing system realtime clock high resolution time in number of nanoseconds.

  • Note that daylight savings time (DST) and other system clock adjustments will influence this time result.

  • ERRORS: Returns an empty string ("") on any error that occured during the request.

  • PARAMETERS: If a boolean value of 'true' is passed, then only the nanosecond part of the time will be returned.

  • SEE: http://www.opengroup.org/onlinepubs/009695399/functions/clock_gettime.html

  • NAME: uptime()

  • RETURNS: An ASCII string representing the high resolution time in number of nanoseconds that has passed since the last boot time or time epoch.

  • ERRORS: Returns an empty string ("") on any error that occured during the request.

  • PARAMETERS: NONE.

  • SEE: http://www.opengroup.org/onlinepubs/009695399/functions/clock_gettime.html

  • NAME: cputime()

  • RETURNS: An ASCII string representing the high resolution time in number of nanoseconds of the accumulated time the cpu has spent working on the process.

  • ERRORS: Returns an empty string ("") on any error that occured during the request.

  • PARAMETERS: NONE.

  • SEE: http://www.opengroup.org/onlinepubs/009695399/functions/clock_gettime.html

  • NAME: initime()

  • RETURNS: An ASCII string representing the high resolution time in number of nanoseconds of the time when the module was initialized.

  • Note that the time defaults to the same clock as uptime(), but will use the realtime clock if the former is unavailable.

  • ERRORS: Returns an empty string ("") on any error that occured during the request.

  • PARAMETERS: NONE.

  • SEE: http://www.opengroup.org/onlinepubs/009695399/functions/clock_gettime.html

  • NAME: runtime()

  • RETURNS: An ASCII string representing the high resolution time in number of nanoseconds of the time passed since the module was initialized.

  • ERRORS: Returns an empty string ("") on any error that occured during the request.

  • PARAMETERS: NONE.

  • SEE: http://www.opengroup.org/onlinepubs/009695399/functions/clock_gettime.html

  • NAME: resolution()

  • RETURNS: An ASCII string representing the resolution of the realtime clock in number of nanoseconds.

  • ERRORS: Returns an empty string ("") on any error that occured during the request.

  • PARAMETERS: NONE.

  • SEE: http://www.opengroup.org/onlinepubs/009695399/functions/clock_getres.html

Readme

Keywords

none

Package Sidebar

Install

npm i hrtime

Weekly Downloads

71

Version

0.5.0

License

none

Last publish

Collaborators

  • izaakschroeder