You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
28 lines
841 B
28 lines
841 B
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] |
|
} |