summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRuben Bridgewater <ruben@bridgewater.de>2019-11-30 10:56:11 +0100
committerRuben Bridgewater <ruben@bridgewater.de>2019-12-07 00:38:27 +0100
commitbdb1083ef54cf99c959c554b741e62943b56e2af (patch)
tree7f0f8c4317bfaaed974b4e5ffefa56acfcd94a20
parent832290a0d425aa027c279a4a96a70550a2fdfff2 (diff)
downloadandroid-node-v8-bdb1083ef54cf99c959c554b741e62943b56e2af.tar.gz
android-node-v8-bdb1083ef54cf99c959c554b741e62943b56e2af.tar.bz2
android-node-v8-bdb1083ef54cf99c959c554b741e62943b56e2af.zip
benchmark: add more util inspect and format benchmarks
This adds a couple of benchmarks to check different options and code paths. PR-URL: https://github.com/nodejs/node/pull/30767 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Denys Otrishko <shishugi@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>
-rw-r--r--benchmark/util/format.js2
-rw-r--r--benchmark/util/inspect-proxy.js18
-rw-r--r--test/benchmark/test-benchmark-util.js4
3 files changed, 18 insertions, 6 deletions
diff --git a/benchmark/util/format.js b/benchmark/util/format.js
index 44e950a6ca..976e0f4e65 100644
--- a/benchmark/util/format.js
+++ b/benchmark/util/format.js
@@ -13,6 +13,8 @@ const inputs = {
'no-replace-2': ['foobar', 'yeah', 'mensch', 5],
'only-objects': [{ msg: 'This is an error' }, { msg: 'This is an error' }],
'many-%': ['replace%%%%s%%%%many%s%s%s', 'percent'],
+ 'object-to-string': ['foo %s bar', { toString() { return 'bla'; } }],
+ 'object-%s': ['foo %s bar', { a: true, b: false }],
};
const bench = common.createBenchmark(main, {
diff --git a/benchmark/util/inspect-proxy.js b/benchmark/util/inspect-proxy.js
index dde86941ff..fd89d568ab 100644
--- a/benchmark/util/inspect-proxy.js
+++ b/benchmark/util/inspect-proxy.js
@@ -3,13 +3,21 @@
const util = require('util');
const common = require('../common.js');
-const bench = common.createBenchmark(main, { n: [2e4] });
+const bench = common.createBenchmark(main, {
+ n: [2e4],
+ showProxy: [0, 1],
+ isProxy: [0, 1]
+});
-function main({ n }) {
- const proxyA = new Proxy({}, { get: () => {} });
- const proxyB = new Proxy(() => {}, {});
+function main({ n, showProxy, isProxy }) {
+ let proxyA = {};
+ let proxyB = () => {};
+ if (isProxy) {
+ proxyA = new Proxy(proxyA, { get: () => {} });
+ proxyB = new Proxy(proxyB, {});
+ }
bench.start();
for (let i = 0; i < n; i += 1)
- util.inspect({ a: proxyA, b: proxyB }, { showProxy: true });
+ util.inspect({ a: proxyA, b: proxyB }, { showProxy });
bench.end(n);
}
diff --git a/test/benchmark/test-benchmark-util.js b/test/benchmark/test-benchmark-util.js
index 97b02bbdee..b66d4fdb9b 100644
--- a/test/benchmark/test-benchmark-util.js
+++ b/test/benchmark/test-benchmark-util.js
@@ -14,5 +14,7 @@ runBenchmark('util',
'size=1',
'type=',
'len=1',
- 'version=native'],
+ 'version=native',
+ 'isProxy=1',
+ 'showProxy=1'],
{ NODEJS_BENCHMARK_ZERO_ALLOWED: 1 });