summaryrefslogtreecommitdiff
path: root/benchmark
diff options
context:
space:
mode:
authorcjihrig <cjihrig@gmail.com>2018-10-12 12:45:26 -0400
committercjihrig <cjihrig@gmail.com>2018-10-14 13:23:16 -0400
commitff8db70bc2eacf1cc494573bb6e8335b82c9da49 (patch)
tree2328de9cf495cda9adcf2a6de732d99d12d0162a /benchmark
parenteeb2c8fcbbd15d42376249d43fec0cda648b9f72 (diff)
downloadandroid-node-v8-ff8db70bc2eacf1cc494573bb6e8335b82c9da49.tar.gz
android-node-v8-ff8db70bc2eacf1cc494573bb6e8335b82c9da49.tar.bz2
android-node-v8-ff8db70bc2eacf1cc494573bb6e8335b82c9da49.zip
benchmark: add common.binding()
Recently, process.binding() was replaced with internalBinding(). However, internalBinding() is not available on older builds of Node, which are often used for benchmarking purposes. This commit adds a common.binding() to the benchmarks to work around the issue. Hopefully, this can be removed in the not too distant future. PR-URL: https://github.com/nodejs/node/pull/23460 Fixes: https://github.com/nodejs/node/issues/23436 Reviewed-By: Michaƫl Zasso <targos@protonmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Weijia Wang <starkwang@126.com> Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
Diffstat (limited to 'benchmark')
-rw-r--r--benchmark/common.js10
-rw-r--r--benchmark/http/bench-parser.js3
-rw-r--r--benchmark/misc/punycode.js2
-rw-r--r--benchmark/misc/trace.js6
-rw-r--r--benchmark/net/tcp-raw-c2s.js10
-rw-r--r--benchmark/net/tcp-raw-pipe.js10
-rw-r--r--benchmark/net/tcp-raw-s2c.js10
-rw-r--r--benchmark/util/type-check.js3
8 files changed, 33 insertions, 21 deletions
diff --git a/benchmark/common.js b/benchmark/common.js
index 148f51830f..79aef5a55f 100644
--- a/benchmark/common.js
+++ b/benchmark/common.js
@@ -242,3 +242,13 @@ Benchmark.prototype.report = function(rate, elapsed) {
type: 'report'
});
};
+
+exports.binding = function(bindingName) {
+ try {
+ const { internalBinding } = require('internal/test/binding');
+
+ return internalBinding(bindingName);
+ } catch {
+ return process.binding(bindingName);
+ }
+};
diff --git a/benchmark/http/bench-parser.js b/benchmark/http/bench-parser.js
index 8208df1122..a54f0efa75 100644
--- a/benchmark/http/bench-parser.js
+++ b/benchmark/http/bench-parser.js
@@ -10,8 +10,7 @@ const bench = common.createBenchmark(main, {
});
function main({ len, n }) {
- const { internalBinding } = require('internal/test/binding');
- const { HTTPParser } = internalBinding('http_parser');
+ const { HTTPParser } = common.binding('http_parser');
const REQUEST = HTTPParser.REQUEST;
const kOnHeaders = HTTPParser.kOnHeaders | 0;
const kOnHeadersComplete = HTTPParser.kOnHeadersComplete | 0;
diff --git a/benchmark/misc/punycode.js b/benchmark/misc/punycode.js
index 369adcf17d..a55660fbc0 100644
--- a/benchmark/misc/punycode.js
+++ b/benchmark/misc/punycode.js
@@ -3,7 +3,7 @@
const common = require('../common.js');
let icu;
try {
- icu = process.binding('icu');
+ icu = common.binding('icu');
} catch (err) {}
const punycode = require('punycode');
diff --git a/benchmark/misc/trace.js b/benchmark/misc/trace.js
index fb51c91e9e..d76f53cf04 100644
--- a/benchmark/misc/trace.js
+++ b/benchmark/misc/trace.js
@@ -11,7 +11,7 @@ const bench = common.createBenchmark(main, {
const {
TRACE_EVENT_PHASE_NESTABLE_ASYNC_BEGIN: kBeforeEvent
-} = process.binding('constants').trace;
+} = common.binding('constants').trace;
function doTrace(n, trace) {
bench.start();
@@ -31,12 +31,10 @@ function doIsTraceCategoryEnabled(n, isTraceCategoryEnabled) {
}
function main({ n, method }) {
- const { internalBinding } = require('internal/test/binding');
-
const {
trace,
isTraceCategoryEnabled
- } = internalBinding('trace_events');
+ } = common.binding('trace_events');
switch (method) {
case '':
diff --git a/benchmark/net/tcp-raw-c2s.js b/benchmark/net/tcp-raw-c2s.js
index d6666011d5..1f10ae7c83 100644
--- a/benchmark/net/tcp-raw-c2s.js
+++ b/benchmark/net/tcp-raw-c2s.js
@@ -15,10 +15,12 @@ const bench = common.createBenchmark(main, {
}, { flags: [ '--expose-internals', '--no-warnings' ] });
function main({ dur, len, type }) {
- const { internalBinding } = require('internal/test/binding');
- const { TCP, constants: TCPConstants } = process.binding('tcp_wrap');
- const { TCPConnectWrap } = process.binding('tcp_wrap');
- const { WriteWrap } = internalBinding('stream_wrap');
+ const {
+ TCP,
+ TCPConnectWrap,
+ constants: TCPConstants
+ } = common.binding('tcp_wrap');
+ const { WriteWrap } = common.binding('stream_wrap');
const PORT = common.PORT;
const serverHandle = new TCP(TCPConstants.SERVER);
diff --git a/benchmark/net/tcp-raw-pipe.js b/benchmark/net/tcp-raw-pipe.js
index 8203abca6e..16dc6955c4 100644
--- a/benchmark/net/tcp-raw-pipe.js
+++ b/benchmark/net/tcp-raw-pipe.js
@@ -17,10 +17,12 @@ const bench = common.createBenchmark(main, {
});
function main({ dur, len, type }) {
- const { internalBinding } = require('internal/test/binding');
- const { TCP, constants: TCPConstants } = process.binding('tcp_wrap');
- const { TCPConnectWrap } = process.binding('tcp_wrap');
- const { WriteWrap } = internalBinding('stream_wrap');
+ const {
+ TCP,
+ TCPConnectWrap,
+ constants: TCPConstants
+ } = common.binding('tcp_wrap');
+ const { WriteWrap } = common.binding('stream_wrap');
const PORT = common.PORT;
function fail(err, syscall) {
diff --git a/benchmark/net/tcp-raw-s2c.js b/benchmark/net/tcp-raw-s2c.js
index 1e42b311ad..1700d23890 100644
--- a/benchmark/net/tcp-raw-s2c.js
+++ b/benchmark/net/tcp-raw-s2c.js
@@ -17,10 +17,12 @@ const bench = common.createBenchmark(main, {
});
function main({ dur, len, type }) {
- const { internalBinding } = require('internal/test/binding');
- const { TCP, constants: TCPConstants } = process.binding('tcp_wrap');
- const { TCPConnectWrap } = process.binding('tcp_wrap');
- const { WriteWrap } = internalBinding('stream_wrap');
+ const {
+ TCP,
+ TCPConnectWrap,
+ constants: TCPConstants
+ } = common.binding('tcp_wrap');
+ const { WriteWrap } = common.binding('stream_wrap');
const PORT = common.PORT;
const serverHandle = new TCP(TCPConstants.SERVER);
diff --git a/benchmark/util/type-check.js b/benchmark/util/type-check.js
index d9acdaedf5..f11471980d 100644
--- a/benchmark/util/type-check.js
+++ b/benchmark/util/type-check.js
@@ -38,8 +38,7 @@ function main({ type, argument, version, n }) {
// For testing, if supplied with an empty type, default to ArrayBufferView.
type = type || 'ArrayBufferView';
- const { internalBinding } = require('internal/test/binding');
- const util = internalBinding('util');
+ const util = common.binding('util');
const types = require('internal/util/types');
const func = { native: util, js: types }[version][`is${type}`];