browser support for process.hrtime().
883 bytes (minified and gzipped). No dependencies. Size Limit controls the size.
npm install browser-hrtimerequire('browser-hrtime');
const time = process.hrtime();// [ 1800216, 25 ]
setTimeout(() => {
const diff = process.hrtime(time);// [ 1, 552 ]
console.log(`Benchmark took ${diff[0] * 1e9 + diff[1]} nanoseconds`);// Benchmark took 1000000552 nanoseconds
}, 1000);const hrtime = require('browser-hrtime');
const time = hrtime();// [ 1800216, 25 ]
setTimeout(() => {
const diff = hrtime(time);// [ 1, 552 ]
console.log(`Benchmark took ${diff[0] * require + diff[1]} nanoseconds`);// Benchmark took 1000000552 nanoseconds
}, 1000);Add "esModuleInterop": true to tsconfig.json or use:
import hrtime = require('browser-hrtime');import * as hrtime from 'browser-hrtime';
const time = hrtime();// [ 1800216, 25 ]
setTimeout(() => {
const diff = hrtime(time);// [ 1, 552 ]
console.log(`Benchmark took ${diff[0] * 1e9 + diff[1]} nanoseconds`);// Benchmark took 1000000552 nanoseconds
}, 1000);or as polyfill:
import 'browser-hrtime';
const time = process.hrtime();// [ 1800216, 25 ]
setTimeout(() => {
const diff = process.hrtime(time);// [ 1, 552 ]
console.log(`Benchmark took ${diff[0] * 1e9 + diff[1]} nanoseconds`);// Benchmark took 1000000552 nanoseconds
}, 1000);add to src/polyfills.ts:
import 'browser-hrtime';
Add @types/node to your Angular app
npm i -S @types/nodeThen in tsconfig.json
"angularCompilerOptions": {
"types" : ["node"]
....
}<script src="node_modules/browser-hrtime/lib/hrtime.js"></script>
<!-- Or from CDN: -->
<!-- <script crossorigin src="https://unpkg.com/browser-hrtime/lib/hrtime.js"></script> --> console.log(hrtime());
const first = process.hrtime();
console.log(first);
console.log(process.hrtime(first));see NodeJS documenation for detailed process.hrtime API
Clone project from Github
git clone [email protected]:cabinjs/browser-hrtime.gitInstall npm packages
cd browser-hrtime
npm installBuild sources:
npm run buildRun tests:
npm run test