summaryrefslogtreecommitdiff
path: root/test/benchmark
diff options
context:
space:
mode:
Diffstat (limited to 'test/benchmark')
-rw-r--r--test/benchmark/benchmark.status21
-rw-r--r--test/benchmark/test-benchmark-assert.js21
-rw-r--r--test/benchmark/test-benchmark-async-hooks.js18
-rw-r--r--test/benchmark/test-benchmark-buffer.js29
-rw-r--r--test/benchmark/test-benchmark-child-process.js15
-rw-r--r--test/benchmark/test-benchmark-cluster.js7
-rw-r--r--test/benchmark/test-benchmark-crypto.js26
-rw-r--r--test/benchmark/test-benchmark-dgram.js17
-rw-r--r--test/benchmark/test-benchmark-dns.js10
-rw-r--r--test/benchmark/test-benchmark-domain.js7
-rw-r--r--test/benchmark/test-benchmark-es.js18
-rw-r--r--test/benchmark/test-benchmark-events.js9
-rw-r--r--test/benchmark/test-benchmark-fs.js22
-rw-r--r--test/benchmark/test-benchmark-http.js34
-rw-r--r--test/benchmark/test-benchmark-http2.js29
-rw-r--r--test/benchmark/test-benchmark-misc.js16
-rw-r--r--test/benchmark/test-benchmark-module.js11
-rw-r--r--test/benchmark/test-benchmark-napi.js24
-rw-r--r--test/benchmark/test-benchmark-net.js17
-rw-r--r--test/benchmark/test-benchmark-os.js7
-rw-r--r--test/benchmark/test-benchmark-path.js14
-rw-r--r--test/benchmark/test-benchmark-process.js11
-rw-r--r--test/benchmark/test-benchmark-querystring.js12
-rw-r--r--test/benchmark/test-benchmark-streams.js13
-rw-r--r--test/benchmark/test-benchmark-string_decoder.js10
-rw-r--r--test/benchmark/test-benchmark-timers.js13
-rw-r--r--test/benchmark/test-benchmark-tls.js29
-rw-r--r--test/benchmark/test-benchmark-url.js23
-rw-r--r--test/benchmark/test-benchmark-util.js18
-rw-r--r--test/benchmark/test-benchmark-v8.js12
-rw-r--r--test/benchmark/test-benchmark-vm.js13
-rw-r--r--test/benchmark/test-benchmark-worker.js23
-rw-r--r--test/benchmark/test-benchmark-zlib.js18
-rw-r--r--test/benchmark/testcfg.py6
34 files changed, 573 insertions, 0 deletions
diff --git a/test/benchmark/benchmark.status b/test/benchmark/benchmark.status
new file mode 100644
index 0000000000..6a966743aa
--- /dev/null
+++ b/test/benchmark/benchmark.status
@@ -0,0 +1,21 @@
+prefix benchmark
+
+# To mark a test as flaky, list the test name in the appropriate section
+# below, without ".js", followed by ": PASS,FLAKY". Example:
+# sample-test : PASS,FLAKY
+
+[true] # This section applies to all platforms
+
+[$system==win32]
+
+[$system==linux]
+
+[$system==macos]
+
+[$system==solaris] # Also applies to SmartOS
+
+[$system==freebsd]
+
+[$system==aix]
+
+[$arch==arm]
diff --git a/test/benchmark/test-benchmark-assert.js b/test/benchmark/test-benchmark-assert.js
new file mode 100644
index 0000000000..8a8ba02444
--- /dev/null
+++ b/test/benchmark/test-benchmark-assert.js
@@ -0,0 +1,21 @@
+'use strict';
+
+require('../common');
+
+// Minimal test for assert benchmarks. This makes sure the benchmarks aren't
+// completely broken but nothing more than that.
+
+const runBenchmark = require('../common/benchmark');
+
+runBenchmark(
+ 'assert',
+ [
+ 'strict=1',
+ 'len=1',
+ 'method=',
+ 'n=1',
+ 'primitive=null',
+ 'size=1',
+ 'type=Int8Array'
+ ]
+);
diff --git a/test/benchmark/test-benchmark-async-hooks.js b/test/benchmark/test-benchmark-async-hooks.js
new file mode 100644
index 0000000000..4cb6f89a8c
--- /dev/null
+++ b/test/benchmark/test-benchmark-async-hooks.js
@@ -0,0 +1,18 @@
+'use strict';
+
+const common = require('../common');
+
+if (!common.hasCrypto)
+ common.skip('missing crypto');
+
+if (!common.enoughTestMem)
+ common.skip('Insufficient memory for async_hooks benchmark test');
+
+const runBenchmark = require('../common/benchmark');
+
+runBenchmark('async_hooks',
+ [
+ 'method=trackingDisabled',
+ 'n=10'
+ ],
+ {});
diff --git a/test/benchmark/test-benchmark-buffer.js b/test/benchmark/test-benchmark-buffer.js
new file mode 100644
index 0000000000..171f755647
--- /dev/null
+++ b/test/benchmark/test-benchmark-buffer.js
@@ -0,0 +1,29 @@
+'use strict';
+
+require('../common');
+
+const runBenchmark = require('../common/benchmark');
+
+runBenchmark('buffers',
+ [
+ 'aligned=true',
+ 'args=1',
+ 'buffer=fast',
+ 'byteLength=1',
+ 'charsPerLine=6',
+ 'encoding=utf8',
+ 'endian=BE',
+ 'len=2',
+ 'linesCount=1',
+ 'method=',
+ 'n=1',
+ 'pieces=1',
+ 'pieceSize=1',
+ 'search=@',
+ 'size=1',
+ 'source=array',
+ 'type=',
+ 'value=0',
+ 'withTotalLength=0'
+ ],
+ { NODEJS_BENCHMARK_ZERO_ALLOWED: 1 });
diff --git a/test/benchmark/test-benchmark-child-process.js b/test/benchmark/test-benchmark-child-process.js
new file mode 100644
index 0000000000..365777069b
--- /dev/null
+++ b/test/benchmark/test-benchmark-child-process.js
@@ -0,0 +1,15 @@
+'use strict';
+
+require('../common');
+
+const runBenchmark = require('../common/benchmark');
+
+runBenchmark('child_process',
+ [
+ 'dur=0',
+ 'n=1',
+ 'len=1',
+ 'params=1',
+ 'methodName=execSync',
+ ],
+ { NODEJS_BENCHMARK_ZERO_ALLOWED: 1 });
diff --git a/test/benchmark/test-benchmark-cluster.js b/test/benchmark/test-benchmark-cluster.js
new file mode 100644
index 0000000000..d6e3b27ee8
--- /dev/null
+++ b/test/benchmark/test-benchmark-cluster.js
@@ -0,0 +1,7 @@
+'use strict';
+
+require('../common');
+
+const runBenchmark = require('../common/benchmark');
+
+runBenchmark('cluster', ['n=1', 'payload=string', 'sendsPerBroadcast=1']);
diff --git a/test/benchmark/test-benchmark-crypto.js b/test/benchmark/test-benchmark-crypto.js
new file mode 100644
index 0000000000..f24edf675f
--- /dev/null
+++ b/test/benchmark/test-benchmark-crypto.js
@@ -0,0 +1,26 @@
+'use strict';
+
+const common = require('../common');
+
+if (!common.hasCrypto)
+ common.skip('missing crypto');
+
+if (common.hasFipsCrypto)
+ common.skip('some benchmarks are FIPS-incompatible');
+
+const runBenchmark = require('../common/benchmark');
+
+runBenchmark('crypto',
+ [
+ 'algo=sha256',
+ 'api=stream',
+ 'cipher=',
+ 'keylen=1024',
+ 'len=1',
+ 'n=1',
+ 'out=buffer',
+ 'type=buf',
+ 'v=crypto',
+ 'writes=1',
+ ],
+ { NODEJS_BENCHMARK_ZERO_ALLOWED: 1 });
diff --git a/test/benchmark/test-benchmark-dgram.js b/test/benchmark/test-benchmark-dgram.js
new file mode 100644
index 0000000000..8c93cd5a0c
--- /dev/null
+++ b/test/benchmark/test-benchmark-dgram.js
@@ -0,0 +1,17 @@
+'use strict';
+
+require('../common');
+
+const runBenchmark = require('../common/benchmark');
+
+// Because the dgram benchmarks use hardcoded ports, this should be in
+// sequential rather than parallel to make sure it does not conflict with
+// tests that choose random available ports.
+
+runBenchmark('dgram', ['address=true',
+ 'chunks=2',
+ 'dur=0.1',
+ 'len=1',
+ 'n=1',
+ 'num=1',
+ 'type=send']);
diff --git a/test/benchmark/test-benchmark-dns.js b/test/benchmark/test-benchmark-dns.js
new file mode 100644
index 0000000000..27c3271c74
--- /dev/null
+++ b/test/benchmark/test-benchmark-dns.js
@@ -0,0 +1,10 @@
+'use strict';
+
+require('../common');
+
+const runBenchmark = require('../common/benchmark');
+
+const env = Object.assign({}, process.env,
+ { NODEJS_BENCHMARK_ZERO_ALLOWED: 1 });
+
+runBenchmark('dns', ['n=1', 'all=false', 'name=127.0.0.1'], env);
diff --git a/test/benchmark/test-benchmark-domain.js b/test/benchmark/test-benchmark-domain.js
new file mode 100644
index 0000000000..e7d8b60b71
--- /dev/null
+++ b/test/benchmark/test-benchmark-domain.js
@@ -0,0 +1,7 @@
+'use strict';
+
+require('../common');
+
+const runBenchmark = require('../common/benchmark');
+
+runBenchmark('domain', ['n=1', 'args=0']);
diff --git a/test/benchmark/test-benchmark-es.js b/test/benchmark/test-benchmark-es.js
new file mode 100644
index 0000000000..47fe4ab3f9
--- /dev/null
+++ b/test/benchmark/test-benchmark-es.js
@@ -0,0 +1,18 @@
+'use strict';
+
+require('../common');
+
+const runBenchmark = require('../common/benchmark');
+
+runBenchmark('es',
+ [
+ 'method=',
+ 'count=1',
+ 'context=null',
+ 'rest=0',
+ 'mode=',
+ 'n=1',
+ 'encoding=ascii',
+ 'size=1e1'
+ ],
+ { NODEJS_BENCHMARK_ZERO_ALLOWED: 1 });
diff --git a/test/benchmark/test-benchmark-events.js b/test/benchmark/test-benchmark-events.js
new file mode 100644
index 0000000000..06be60a84a
--- /dev/null
+++ b/test/benchmark/test-benchmark-events.js
@@ -0,0 +1,9 @@
+'use strict';
+
+require('../common');
+
+const runBenchmark = require('../common/benchmark');
+
+runBenchmark('events',
+ ['argc=0', 'listeners=1', 'n=1'],
+ { NODEJS_BENCHMARK_ZERO_ALLOWED: 1 });
diff --git a/test/benchmark/test-benchmark-fs.js b/test/benchmark/test-benchmark-fs.js
new file mode 100644
index 0000000000..7ae32fe617
--- /dev/null
+++ b/test/benchmark/test-benchmark-fs.js
@@ -0,0 +1,22 @@
+'use strict';
+
+require('../common');
+const runBenchmark = require('../common/benchmark');
+
+const tmpdir = require('../common/tmpdir');
+tmpdir.refresh();
+
+runBenchmark('fs', [
+ 'n=1',
+ 'size=1',
+ 'dur=0.1',
+ 'len=1024',
+ 'concurrent=1',
+ 'pathType=relative',
+ 'statType=fstat',
+ 'statSyncType=fstatSync',
+ 'encodingType=buf',
+ 'filesize=1024',
+ 'dir=.github',
+ 'withFileTypes=false'
+], { NODE_TMPDIR: tmpdir.path, NODEJS_BENCHMARK_ZERO_ALLOWED: 1 });
diff --git a/test/benchmark/test-benchmark-http.js b/test/benchmark/test-benchmark-http.js
new file mode 100644
index 0000000000..7255e655c0
--- /dev/null
+++ b/test/benchmark/test-benchmark-http.js
@@ -0,0 +1,34 @@
+'use strict';
+
+const common = require('../common');
+
+if (!common.enoughTestMem)
+ common.skip('Insufficient memory for HTTP benchmark test');
+
+// Because the http benchmarks use hardcoded ports, this should be in sequential
+// rather than parallel to make sure it does not conflict with tests that choose
+// random available ports.
+
+const runBenchmark = require('../common/benchmark');
+
+runBenchmark('http',
+ [
+ 'benchmarker=test-double-http',
+ 'c=1',
+ 'chunkedEnc=true',
+ 'chunks=0',
+ 'dur=0.1',
+ 'duplicates=1',
+ 'input=keep-alive',
+ 'key=""',
+ 'len=1',
+ 'method=write',
+ 'n=1',
+ 'res=normal',
+ 'type=asc',
+ 'value=X-Powered-By'
+ ],
+ {
+ NODEJS_BENCHMARK_ZERO_ALLOWED: 1,
+ duration: 0
+ });
diff --git a/test/benchmark/test-benchmark-http2.js b/test/benchmark/test-benchmark-http2.js
new file mode 100644
index 0000000000..1668a7b87f
--- /dev/null
+++ b/test/benchmark/test-benchmark-http2.js
@@ -0,0 +1,29 @@
+'use strict';
+
+const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
+
+if (!common.enoughTestMem)
+ common.skip('Insufficient memory for HTTP/2 benchmark test');
+
+// Because the http benchmarks use hardcoded ports, this should be in sequential
+// rather than parallel to make sure it does not conflict with tests that choose
+// random available ports.
+
+const runBenchmark = require('../common/benchmark');
+
+runBenchmark('http2',
+ [
+ 'benchmarker=test-double-http2',
+ 'clients=1',
+ 'length=65536',
+ 'n=1',
+ 'nheaders=0',
+ 'requests=1',
+ 'streams=1'
+ ],
+ {
+ NODEJS_BENCHMARK_ZERO_ALLOWED: 1,
+ duration: 0
+ });
diff --git a/test/benchmark/test-benchmark-misc.js b/test/benchmark/test-benchmark-misc.js
new file mode 100644
index 0000000000..b884152808
--- /dev/null
+++ b/test/benchmark/test-benchmark-misc.js
@@ -0,0 +1,16 @@
+'use strict';
+
+require('../common');
+
+const runBenchmark = require('../common/benchmark');
+
+runBenchmark('misc', [
+ 'concat=0',
+ 'dur=0.1',
+ 'method=',
+ 'n=1',
+ 'type=',
+ 'val=magyarország.icom.museum',
+ 'script=test/fixtures/semicolon',
+ 'mode=worker'
+], { NODEJS_BENCHMARK_ZERO_ALLOWED: 1 });
diff --git a/test/benchmark/test-benchmark-module.js b/test/benchmark/test-benchmark-module.js
new file mode 100644
index 0000000000..d81936210c
--- /dev/null
+++ b/test/benchmark/test-benchmark-module.js
@@ -0,0 +1,11 @@
+'use strict';
+
+require('../common');
+
+const runBenchmark = require('../common/benchmark');
+
+runBenchmark('module', [
+ 'n=1',
+ 'useCache=true',
+ 'fullPath=true'
+]);
diff --git a/test/benchmark/test-benchmark-napi.js b/test/benchmark/test-benchmark-napi.js
new file mode 100644
index 0000000000..1a1ff23d60
--- /dev/null
+++ b/test/benchmark/test-benchmark-napi.js
@@ -0,0 +1,24 @@
+'use strict';
+
+const common = require('../common');
+
+if (common.isWindows) {
+ common.skip('vcbuild.bat doesn\'t build the n-api benchmarks yet');
+}
+
+if (!common.isMainThread) {
+ common.skip('addons are not supported in workers');
+}
+
+if (process.features.debug) {
+ common.skip('benchmark does not work with debug build yet');
+}
+const runBenchmark = require('../common/benchmark');
+
+runBenchmark('napi',
+ [
+ 'n=1',
+ 'engine=v8',
+ 'type=String'
+ ],
+ { NODEJS_BENCHMARK_ZERO_ALLOWED: 1 });
diff --git a/test/benchmark/test-benchmark-net.js b/test/benchmark/test-benchmark-net.js
new file mode 100644
index 0000000000..5d3d283fc7
--- /dev/null
+++ b/test/benchmark/test-benchmark-net.js
@@ -0,0 +1,17 @@
+'use strict';
+
+require('../common');
+
+// Because the net benchmarks use hardcoded ports, this should be in sequential
+// rather than parallel to make sure it does not conflict with tests that choose
+// random available ports.
+
+const runBenchmark = require('../common/benchmark');
+
+runBenchmark('net',
+ [
+ 'dur=0',
+ 'len=1024',
+ 'type=buf'
+ ],
+ { NODEJS_BENCHMARK_ZERO_ALLOWED: 1 });
diff --git a/test/benchmark/test-benchmark-os.js b/test/benchmark/test-benchmark-os.js
new file mode 100644
index 0000000000..836e0e6504
--- /dev/null
+++ b/test/benchmark/test-benchmark-os.js
@@ -0,0 +1,7 @@
+'use strict';
+
+require('../common');
+
+const runBenchmark = require('../common/benchmark');
+
+runBenchmark('os', ['n=1']);
diff --git a/test/benchmark/test-benchmark-path.js b/test/benchmark/test-benchmark-path.js
new file mode 100644
index 0000000000..890fd7ae41
--- /dev/null
+++ b/test/benchmark/test-benchmark-path.js
@@ -0,0 +1,14 @@
+'use strict';
+
+require('../common');
+
+const runBenchmark = require('../common/benchmark');
+
+runBenchmark('path',
+ [
+ 'n=1',
+ 'path=',
+ 'pathext=',
+ 'paths=',
+ 'props='
+ ], { NODEJS_BENCHMARK_ZERO_ALLOWED: 1 });
diff --git a/test/benchmark/test-benchmark-process.js b/test/benchmark/test-benchmark-process.js
new file mode 100644
index 0000000000..15cb678017
--- /dev/null
+++ b/test/benchmark/test-benchmark-process.js
@@ -0,0 +1,11 @@
+'use strict';
+
+require('../common');
+
+const runBenchmark = require('../common/benchmark');
+
+runBenchmark('process',
+ [
+ 'n=1',
+ 'type=raw'
+ ], { NODEJS_BENCHMARK_ZERO_ALLOWED: 1 });
diff --git a/test/benchmark/test-benchmark-querystring.js b/test/benchmark/test-benchmark-querystring.js
new file mode 100644
index 0000000000..77d0ac99ff
--- /dev/null
+++ b/test/benchmark/test-benchmark-querystring.js
@@ -0,0 +1,12 @@
+'use strict';
+
+require('../common');
+
+const runBenchmark = require('../common/benchmark');
+
+runBenchmark('querystring',
+ [ 'n=1',
+ 'input="there is nothing to unescape here"',
+ 'type=noencode'
+ ],
+ { NODEJS_BENCHMARK_ZERO_ALLOWED: 1 });
diff --git a/test/benchmark/test-benchmark-streams.js b/test/benchmark/test-benchmark-streams.js
new file mode 100644
index 0000000000..f90838794c
--- /dev/null
+++ b/test/benchmark/test-benchmark-streams.js
@@ -0,0 +1,13 @@
+'use strict';
+
+require('../common');
+
+const runBenchmark = require('../common/benchmark');
+
+runBenchmark('streams',
+ [
+ 'kind=duplex',
+ 'type=buffer',
+ 'n=1'
+ ],
+ { NODEJS_BENCHMARK_ZERO_ALLOWED: 1 });
diff --git a/test/benchmark/test-benchmark-string_decoder.js b/test/benchmark/test-benchmark-string_decoder.js
new file mode 100644
index 0000000000..f2fd6abe4b
--- /dev/null
+++ b/test/benchmark/test-benchmark-string_decoder.js
@@ -0,0 +1,10 @@
+'use strict';
+
+require('../common');
+
+const runBenchmark = require('../common/benchmark');
+
+runBenchmark('string_decoder', ['chunkLen=16',
+ 'encoding=utf8',
+ 'inLen=32',
+ 'n=1']);
diff --git a/test/benchmark/test-benchmark-timers.js b/test/benchmark/test-benchmark-timers.js
new file mode 100644
index 0000000000..af3c49bd71
--- /dev/null
+++ b/test/benchmark/test-benchmark-timers.js
@@ -0,0 +1,13 @@
+'use strict';
+
+require('../common');
+
+const runBenchmark = require('../common/benchmark');
+
+runBenchmark('timers',
+ [
+ 'direction=start',
+ 'n=1',
+ 'type=depth',
+ ],
+ { NODEJS_BENCHMARK_ZERO_ALLOWED: 1 });
diff --git a/test/benchmark/test-benchmark-tls.js b/test/benchmark/test-benchmark-tls.js
new file mode 100644
index 0000000000..40c14af830
--- /dev/null
+++ b/test/benchmark/test-benchmark-tls.js
@@ -0,0 +1,29 @@
+'use strict';
+
+const common = require('../common');
+
+if (!common.hasCrypto)
+ common.skip('missing crypto');
+
+if (!common.enoughTestMem)
+ common.skip('Insufficient memory for TLS benchmark test');
+
+// Because the TLS benchmarks use hardcoded ports, this should be in sequential
+// rather than parallel to make sure it does not conflict with tests that choose
+// random available ports.
+
+const runBenchmark = require('../common/benchmark');
+
+runBenchmark('tls',
+ [
+ 'concurrency=1',
+ 'dur=0.1',
+ 'n=1',
+ 'size=2',
+ 'securing=SecurePair',
+ 'type=asc'
+ ],
+ {
+ NODEJS_BENCHMARK_ZERO_ALLOWED: 1,
+ duration: 0
+ });
diff --git a/test/benchmark/test-benchmark-url.js b/test/benchmark/test-benchmark-url.js
new file mode 100644
index 0000000000..92bb34de27
--- /dev/null
+++ b/test/benchmark/test-benchmark-url.js
@@ -0,0 +1,23 @@
+'use strict';
+
+require('../common');
+
+const runBenchmark = require('../common/benchmark');
+
+runBenchmark('url',
+ [
+ 'method=legacy',
+ 'loopMethod=forEach',
+ 'accessMethod=get',
+ 'type=short',
+ 'searchParam=noencode',
+ 'href=short',
+ 'input=short',
+ 'domain=empty',
+ 'path=up',
+ 'to=ascii',
+ 'prop=href',
+ 'n=1',
+ 'param=one'
+ ],
+ { NODEJS_BENCHMARK_ZERO_ALLOWED: 1 });
diff --git a/test/benchmark/test-benchmark-util.js b/test/benchmark/test-benchmark-util.js
new file mode 100644
index 0000000000..97b02bbdee
--- /dev/null
+++ b/test/benchmark/test-benchmark-util.js
@@ -0,0 +1,18 @@
+'use strict';
+
+require('../common');
+
+const runBenchmark = require('../common/benchmark');
+
+runBenchmark('util',
+ ['argument=false',
+ 'input=',
+ 'method=Array',
+ 'n=1',
+ 'option=none',
+ 'pos=start',
+ 'size=1',
+ 'type=',
+ 'len=1',
+ 'version=native'],
+ { NODEJS_BENCHMARK_ZERO_ALLOWED: 1 });
diff --git a/test/benchmark/test-benchmark-v8.js b/test/benchmark/test-benchmark-v8.js
new file mode 100644
index 0000000000..22861785db
--- /dev/null
+++ b/test/benchmark/test-benchmark-v8.js
@@ -0,0 +1,12 @@
+'use strict';
+
+require('../common');
+
+const runBenchmark = require('../common/benchmark');
+
+runBenchmark('v8',
+ [
+ 'method=getHeapStatistics',
+ 'n=1'
+ ],
+ { NODEJS_BENCHMARK_ZERO_ALLOWED: 1 });
diff --git a/test/benchmark/test-benchmark-vm.js b/test/benchmark/test-benchmark-vm.js
new file mode 100644
index 0000000000..79ab6a0340
--- /dev/null
+++ b/test/benchmark/test-benchmark-vm.js
@@ -0,0 +1,13 @@
+'use strict';
+
+require('../common');
+
+const runBenchmark = require('../common/benchmark');
+
+runBenchmark('vm',
+ [
+ 'breakOnSigint=0',
+ 'withSigintListener=0',
+ 'n=1'
+ ],
+ { NODEJS_BENCHMARK_ZERO_ALLOWED: 1 });
diff --git a/test/benchmark/test-benchmark-worker.js b/test/benchmark/test-benchmark-worker.js
new file mode 100644
index 0000000000..ae9a8a6701
--- /dev/null
+++ b/test/benchmark/test-benchmark-worker.js
@@ -0,0 +1,23 @@
+'use strict';
+
+const common = require('../common');
+
+if (!common.enoughTestMem)
+ common.skip('Insufficient memory for Worker benchmark test');
+
+// Because the worker benchmarks can run on different threads,
+// this should be in sequential rather than parallel to make sure
+// it does not conflict with tests that choose random available ports.
+
+const runBenchmark = require('../common/benchmark');
+
+runBenchmark('worker',
+ [
+ 'n=1',
+ 'sendsPerBroadcast=1',
+ 'workers=1',
+ 'payload=string'
+ ],
+ {
+ NODEJS_BENCHMARK_ZERO_ALLOWED: 1
+ });
diff --git a/test/benchmark/test-benchmark-zlib.js b/test/benchmark/test-benchmark-zlib.js
new file mode 100644
index 0000000000..25b7d1a4d5
--- /dev/null
+++ b/test/benchmark/test-benchmark-zlib.js
@@ -0,0 +1,18 @@
+'use strict';
+
+require('../common');
+
+const runBenchmark = require('../common/benchmark');
+
+runBenchmark('zlib',
+ [
+ 'method=deflate',
+ 'n=1',
+ 'options=true',
+ 'type=Deflate',
+ 'inputLen=1024',
+ 'duration=0.001'
+ ],
+ {
+ 'NODEJS_BENCHMARK_ZERO_ALLOWED': 1
+ });
diff --git a/test/benchmark/testcfg.py b/test/benchmark/testcfg.py
new file mode 100644
index 0000000000..2c2929f610
--- /dev/null
+++ b/test/benchmark/testcfg.py
@@ -0,0 +1,6 @@
+import sys, os
+sys.path.append(os.path.join(os.path.dirname(__file__), '..'))
+import testpy
+
+def GetConfiguration(context, root):
+ return testpy.SimpleTestConfiguration(context, root, 'benchmark')