• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1'use strict';
2
3const common = require('../common');
4
5const bench = common.createBenchmark(main, {
6  n: [1e5],
7  pos: ['start', 'middle', 'end'],
8  size: [10, 100, 500],
9}, { flags: ['--expose-internals'] });
10
11function main({ n, pos, size }) {
12  const { spliceOne } = require('internal/util');
13  const arr = new Array(size);
14  arr.fill('');
15  let index;
16  switch (pos) {
17    case 'end':
18      index = size - 1;
19      break;
20    case 'middle':
21      index = Math.floor(size / 2);
22      break;
23    default: // start
24      index = 0;
25  }
26
27  bench.start();
28  for (let i = 0; i < n; i++) {
29    spliceOne(arr, index);
30    arr.push('');
31  }
32  bench.end(n);
33}
34