perfNow.js 669 B

1234567891011121314151617181920212223242526
  1. var now = require('./now');
  2. var root = require('./root');
  3. var performance = root.performance;
  4. var process = root.process;
  5. var loadTime;
  6. if (performance && performance.now) {
  7. exports = function() {
  8. return performance.now();
  9. };
  10. } else if (process && process.hrtime) {
  11. var getNanoSeconds = function() {
  12. var hr = process.hrtime();
  13. return hr[0] * 1e9 + hr[1];
  14. };
  15. loadTime = getNanoSeconds() - process.uptime() * 1e9;
  16. exports = function() {
  17. return (getNanoSeconds() - loadTime) / 1e6;
  18. };
  19. } else {
  20. loadTime = now();
  21. exports = function() {
  22. return now() - loadTime;
  23. };
  24. }
  25. module.exports = exports;