12345678910111213141516171819202122232425262728 |
- module.exports = process.hrtime || hrtime
-
- // polyfil for window.performance.now
- var performance = global.performance || {}
- var performanceNow =
- performance.now ||
- performance.mozNow ||
- performance.msNow ||
- performance.oNow ||
- performance.webkitNow ||
- function(){ return (new Date()).getTime() }
-
- // generate timestamp or delta
- // see http://nodejs.org/api/process.html#process_process_hrtime
- function hrtime(previousTimestamp){
- var clocktime = performanceNow.call(performance)*1e-3
- var seconds = Math.floor(clocktime)
- var nanoseconds = Math.floor((clocktime%1)*1e9)
- if (previousTimestamp) {
- seconds = seconds - previousTimestamp[0]
- nanoseconds = nanoseconds - previousTimestamp[1]
- if (nanoseconds<0) {
- seconds--
- nanoseconds += 1e9
- }
- }
- return [seconds,nanoseconds]
- }
|