benchmark: add buffer fill benchmark

PR-URL: https://github.com/nodejs/node/pull/18790
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
pull/18673/merge
Ruben Bridgewater 2018-02-14 23:47:15 +01:00
parent 177b7314cf
commit e9ec9ff269
No known key found for this signature in database
GPG Key ID: F07496B3EB3C1762
1 changed files with 31 additions and 0 deletions

View File

@ -0,0 +1,31 @@
'use strict';
const common = require('../common.js');
const bench = common.createBenchmark(main, {
type: [
'fill(0)',
'fill("")',
'fill(100)',
'fill(400)',
'fill("t")',
'fill("test")',
'fill("t", "utf8")',
'fill("t", 0, "utf8")',
'fill("t", 0)',
'fill(Buffer.alloc(1), 0)'
],
size: [2 ** 8, 2 ** 13, 2 ** 16],
n: [2e4]
});
function main({ n, type, size }) {
const buffer = Buffer.allocUnsafe(size);
const testFunction = new Function('b', `
for (var i = 0; i < ${n}; i++) {
b.${type || 'fill(0)'};
}
`);
bench.start();
testFunction(buffer);
bench.end(n);
}