diff options
author | cjihrig <cjihrig@gmail.com> | 2018-10-12 12:45:26 -0400 |
---|---|---|
committer | cjihrig <cjihrig@gmail.com> | 2018-10-14 13:23:16 -0400 |
commit | ff8db70bc2eacf1cc494573bb6e8335b82c9da49 (patch) | |
tree | 2328de9cf495cda9adcf2a6de732d99d12d0162a /benchmark | |
parent | eeb2c8fcbbd15d42376249d43fec0cda648b9f72 (diff) | |
download | android-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.js | 10 | ||||
-rw-r--r-- | benchmark/http/bench-parser.js | 3 | ||||
-rw-r--r-- | benchmark/misc/punycode.js | 2 | ||||
-rw-r--r-- | benchmark/misc/trace.js | 6 | ||||
-rw-r--r-- | benchmark/net/tcp-raw-c2s.js | 10 | ||||
-rw-r--r-- | benchmark/net/tcp-raw-pipe.js | 10 | ||||
-rw-r--r-- | benchmark/net/tcp-raw-s2c.js | 10 | ||||
-rw-r--r-- | benchmark/util/type-check.js | 3 |
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}`]; |