• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1'use strict';
2
3const common = require('../common.js');
4
5const bench = common.createBenchmark(main, {
6  encoding: ['utf8', 'ascii', 'latin1', 'hex', 'UCS-2'],
7  args: [0, 1, 3],
8  len: [1, 64, 1024],
9  n: [1e6]
10});
11
12function main({ encoding, args, len, n }) {
13  const buf = Buffer.alloc(len, 42);
14
15  if (encoding.length === 0)
16    encoding = undefined;
17
18  switch (args) {
19    case 1:
20      bench.start();
21      for (let i = 0; i < n; i += 1)
22        buf.toString(encoding);
23      bench.end(n);
24      break;
25    case 2:
26      bench.start();
27      for (let i = 0; i < n; i += 1)
28        buf.toString(encoding, 0);
29      bench.end(n);
30      break;
31    case 3:
32      bench.start();
33      for (let i = 0; i < n; i += 1)
34        buf.toString(encoding, 0, len);
35      bench.end(n);
36      break;
37    default:
38      bench.start();
39      for (let i = 0; i < n; i += 1)
40        buf.toString();
41      bench.end(n);
42      break;
43  }
44}
45