mirror of
https://github.com/zebrajr/node.git
synced 2026-01-15 12:15:26 +00:00
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>
This commit is contained in:
@@ -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, {
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -14,5 +14,7 @@ runBenchmark('util',
|
||||
'size=1',
|
||||
'type=',
|
||||
'len=1',
|
||||
'version=native'],
|
||||
'version=native',
|
||||
'isProxy=1',
|
||||
'showProxy=1'],
|
||||
{ NODEJS_BENCHMARK_ZERO_ALLOWED: 1 });
|
||||
|
||||
Reference in New Issue
Block a user