summaryrefslogtreecommitdiff
path: root/deps/node/benchmark/es/spread-bench.js
diff options
context:
space:
mode:
Diffstat (limited to 'deps/node/benchmark/es/spread-bench.js')
-rw-r--r--deps/node/benchmark/es/spread-bench.js60
1 files changed, 0 insertions, 60 deletions
diff --git a/deps/node/benchmark/es/spread-bench.js b/deps/node/benchmark/es/spread-bench.js
deleted file mode 100644
index 97c7596b..00000000
--- a/deps/node/benchmark/es/spread-bench.js
+++ /dev/null
@@ -1,60 +0,0 @@
-'use strict';
-
-const common = require('../common.js');
-const assert = require('assert');
-
-const bench = common.createBenchmark(main, {
- method: ['apply', 'spread', 'call-spread'],
- count: [5, 10, 20],
- context: ['context', 'null'],
- rest: [0, 1],
- n: [5e6]
-});
-
-function makeTest(count, rest) {
- if (rest) {
- return function test(...args) {
- assert.strictEqual(count, args.length);
- };
- } else {
- return function test() {
- assert.strictEqual(count, arguments.length);
- };
- }
-}
-
-function main({ n, context, count, rest, method }) {
- const ctx = context === 'context' ? {} : null;
- var fn = makeTest(count, rest);
- const args = new Array(count);
- var i;
- for (i = 0; i < count; i++)
- args[i] = i;
-
- switch (method) {
- case '':
- // Empty string falls through to next line as default, mostly for tests.
- case 'apply':
- bench.start();
- for (i = 0; i < n; i++)
- fn.apply(ctx, args);
- bench.end(n);
- break;
- case 'spread':
- if (ctx !== null)
- fn = fn.bind(ctx);
- bench.start();
- for (i = 0; i < n; i++)
- fn(...args);
- bench.end(n);
- break;
- case 'call-spread':
- bench.start();
- for (i = 0; i < n; i++)
- fn.call(ctx, ...args);
- bench.end(n);
- break;
- default:
- throw new Error(`Unexpected method "${method}"`);
- }
-}