summaryrefslogtreecommitdiff
path: root/benchmark/buffers/buffer-fill.js
blob: b497597fa1360b79760f6dbd09c963e7c25e132d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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);
}