Skip to content

Commit f1b4e7c

Browse files
Ethan-Arrowoodtargos
authored andcommitted
test: add benchmark tests for es
Added parallel test benchmark for es PR-URL: #16076 Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
1 parent 80539d8 commit f1b4e7c

10 files changed

+54
-12
lines changed

benchmark/es/defaultparams-bench.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,8 @@ function main(conf) {
4242
const n = +conf.millions * 1e6;
4343

4444
switch (conf.method) {
45+
case '':
46+
// Empty string falls through to next line as default, mostly for tests.
4547
case 'withoutdefaults':
4648
runOldStyleDefaults(n);
4749
break;

benchmark/es/destructuring-bench.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,8 @@ function main(conf) {
3838
const n = +conf.millions * 1e6;
3939

4040
switch (conf.method) {
41+
case '':
42+
// Empty string falls through to next line as default, mostly for tests.
4143
case 'swap':
4244
runSwapManual(n);
4345
break;

benchmark/es/destructuring-object-bench.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,8 @@ function main(conf) {
3737
const n = +conf.millions * 1e6;
3838

3939
switch (conf.method) {
40+
case '':
41+
// Empty string falls through to next line as default, mostly for tests.
4042
case 'normal':
4143
runNormal(n);
4244
break;

benchmark/es/foreach-bench.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,8 @@ function main(conf) {
6363
items[i] = i;
6464

6565
switch (conf.method) {
66+
case '':
67+
// Empty string falls through to next line as default, mostly for tests.
6668
case 'for':
6769
fn = useFor;
6870
break;

benchmark/es/map-bench.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,8 @@ function main(conf) {
112112
const n = +conf.millions * 1e6;
113113

114114
switch (conf.method) {
115+
case '':
116+
// Empty string falls through to next line as default, mostly for tests.
115117
case 'object':
116118
runObject(n);
117119
break;

benchmark/es/restparams-bench.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,8 @@ function main(conf) {
6464
const n = +conf.millions * 1e6;
6565

6666
switch (conf.method) {
67+
case '':
68+
// Empty string falls through to next line as default, mostly for tests.
6769
case 'copy':
6870
runCopyArguments(n);
6971
break;

benchmark/es/spread-bench.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@ function main(conf) {
3333
args[i] = i;
3434

3535
switch (conf.method) {
36+
case '':
37+
// Empty string falls through to next line as default, mostly for tests.
3638
case 'apply':
3739
bench.start();
3840
for (i = 0; i < n; i++)

benchmark/es/string-concatenations.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,15 @@ const bench = common.createBenchmark(main, configs);
1919

2020
function main(conf) {
2121
const n = +conf.n;
22-
const mode = conf.mode;
2322

2423
const str = 'abc';
2524
const num = 123;
2625

2726
let string;
2827

29-
switch (mode) {
28+
switch (conf.mode) {
29+
case '':
30+
// Empty string falls through to next line as default, mostly for tests.
3031
case 'multi-concat':
3132
bench.start();
3233
for (let i = 0; i < n; i++)
@@ -63,6 +64,8 @@ function main(conf) {
6364
string = `${num}`;
6465
bench.end(n);
6566
break;
67+
default:
68+
throw new Error('Unexpected method');
6669
}
6770

6871
return string;

benchmark/es/string-repeat.js

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -19,16 +19,23 @@ function main(conf) {
1919

2020
let str;
2121

22-
if (conf.mode === 'Array') {
23-
bench.start();
24-
for (let i = 0; i < n; i++)
25-
str = new Array(size + 1).join(character);
26-
bench.end(n);
27-
} else {
28-
bench.start();
29-
for (let i = 0; i < n; i++)
30-
str = character.repeat(size);
31-
bench.end(n);
22+
switch (conf.mode) {
23+
case '':
24+
// Empty string falls through to next line as default, mostly for tests.
25+
case 'Array':
26+
bench.start();
27+
for (let i = 0; i < n; i++)
28+
str = new Array(size + 1).join(character);
29+
bench.end(n);
30+
break;
31+
case 'repeat':
32+
bench.start();
33+
for (let i = 0; i < n; i++)
34+
str = character.repeat(size);
35+
bench.end(n);
36+
break;
37+
default:
38+
throw new Error('Unexpected method');
3239
}
3340

3441
assert.strictEqual([...str].length, size);

test/parallel/test-benchmark-es.js

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
'use strict';
2+
3+
require('../common');
4+
5+
const runBenchmark = require('../common/benchmark');
6+
7+
runBenchmark('es',
8+
[
9+
'method=',
10+
'millions=0.000001',
11+
'count=1',
12+
'context=null',
13+
'rest=0',
14+
'mode=',
15+
'n=1',
16+
'encoding=ascii',
17+
'size=1e1'
18+
]);

0 commit comments

Comments
 (0)