browser-hrtime
browser support for process.hrtime()
.
:package: Installation
npm
npm install browser-hrtime
yarn
yarn add browser-hrtime
:page_with_curl: Examples
NodeJS
As a polyfill
require('browser-hrtime');
const time = process.hrtime();
setTimeout(() => {
const diff = process.hrtime(time);
console.log(`Benchmark took ${diff[0] * 1e9 + diff[1]} nanoseconds`);
}, 1000);
As a function
const hrtime = require('browser-hrtime');
const time = hrtime();
setTimeout(() => {
const diff = hrtime(time);
console.log(`Benchmark took ${diff[0] * require + diff[1]} nanoseconds`);
}, 1000);
TypeScript
Add "esModuleInterop": true
to tsconfig.json
or use:
import hrtime = require('browser-hrtime');
Web with module
import * as hrtime from 'browser-hrtime';
const time = hrtime();
setTimeout(() => {
const diff = hrtime(time);
console.log(`Benchmark took ${diff[0] * 1e9 + diff[1]} nanoseconds`);
}, 1000);
or as polyfill:
import 'browser-hrtime';
const time = process.hrtime();
setTimeout(() => {
const diff = process.hrtime(time);
console.log(`Benchmark took ${diff[0] * 1e9 + diff[1]} nanoseconds`);
}, 1000);
Usage as an Angular polyfill:
add to src/polyfills.ts
:
import 'browser-hrtime';
Add @types/node to your Angular app
npm i -S @types/node
Then in tsconfig.json
"angularCompilerOptions": {
"types" : ["node"]
....
}
Web
<script src="node_modules/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
Contribution
Clone project from Github
git clone git@github.com:cabinjs/browser-hrtime.git
Install npm packages
cd browser-hrtime
npm install
Build sources:
npm run build
Run tests:
npm run test
License
MIT