mirror of
https://github.com/nodejs/node.git
synced 2025-05-18 13:11:42 +00:00

process.hrtime() was performing too many operations in C++ that could be done faster in JS. Move those operations over by creating a length 4 Uint32Array and perform bitwise operations on the seconds so that it was unnecessary for the native API to do any object creation or set any fields. This has improved performance from ~350 ns/op to ~65 ns/op. Light benchmark included to demonstrate the performance change. PR-URL: https://github.com/nodejs/node/pull/3780 Reviewed-By: Fedor Indutny <fedor@indutny.com>
19 lines
257 B
JavaScript
19 lines
257 B
JavaScript
'use strict';
|
|
|
|
const common = require('../common');
|
|
|
|
const bench = common.createBenchmark(main, {
|
|
n: [1e6]
|
|
});
|
|
|
|
|
|
function main(conf) {
|
|
const n = conf.n >>> 0;
|
|
|
|
bench.start();
|
|
for (var i = 0; i < n; i++) {
|
|
process.hrtime();
|
|
}
|
|
bench.end(n);
|
|
}
|