mirror of https://github.com/lukechilds/node.git
Browse Source
Improve performance by pushing directory entries to returned array in batches of 8 using pushValueToArray() in JS. Add benchmarks to demonstrate this improvement. PR-URL: https://github.com/nodejs/node/pull/3780 Reviewed-By: Fedor Indutny <fedor@indutny.com>v5.x
committed by
Jeremiah Senkpiel
3 changed files with 72 additions and 6 deletions
@ -0,0 +1,22 @@ |
|||
'use strict'; |
|||
|
|||
const common = require('../common'); |
|||
const fs = require('fs'); |
|||
|
|||
const bench = common.createBenchmark(main, { |
|||
n: [1e4], |
|||
}); |
|||
|
|||
|
|||
function main(conf) { |
|||
const n = conf.n >>> 0; |
|||
|
|||
bench.start(); |
|||
(function r(cntr) { |
|||
if (--cntr <= 0) |
|||
return bench.end(n); |
|||
fs.readdir(__dirname + '/../../lib/', function() { |
|||
r(cntr); |
|||
}); |
|||
}(n)); |
|||
} |
@ -0,0 +1,19 @@ |
|||
'use strict'; |
|||
|
|||
const common = require('../common'); |
|||
const fs = require('fs'); |
|||
|
|||
const bench = common.createBenchmark(main, { |
|||
n: [1e4], |
|||
}); |
|||
|
|||
|
|||
function main(conf) { |
|||
const n = conf.n >>> 0; |
|||
|
|||
bench.start(); |
|||
for (var i = 0; i < n; i++) { |
|||
fs.readdirSync(__dirname + '/../../lib/'); |
|||
} |
|||
bench.end(n); |
|||
} |
Loading…
Reference in new issue