mirror of https://github.com/lukechilds/node.git
Browse Source
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>process-exit-stdio-flushing
Trevor Norris
9 years ago
3 changed files with 46 additions and 12 deletions
@ -0,0 +1,18 @@ |
|||||
|
'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); |
||||
|
} |
Loading…
Reference in new issue