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] }