Skip to content

Commit

Permalink
benchmark: refactor
Browse files Browse the repository at this point in the history
  • Loading branch information
BridgeAR committed Feb 1, 2018
1 parent 5aa2a2f commit f7d9fac
Show file tree
Hide file tree
Showing 17 changed files with 39 additions and 82 deletions.
7 changes: 4 additions & 3 deletions benchmark/async_hooks/gc-tracking.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,22 +22,23 @@ function endAfterGC(n) {
}

function main({ n, method }) {
var i;
switch (method) {
case 'trackingEnabled':
bench.start();
for (let i = 0; i < n; i++) {
for (i = 0; i < n; i++) {
new AsyncResource('foobar');
}
endAfterGC(n);
break;
case 'trackingDisabled':
bench.start();
for (let i = 0; i < n; i++) {
for (i = 0; i < n; i++) {
new AsyncResource('foobar', { requireManualDestroy: true });
}
endAfterGC(n);
break;
default:
throw new Error('Unsupported method');
throw new Error(`Unsupported method "${method}"`);
}
}
7 changes: 4 additions & 3 deletions benchmark/dgram/bind-params.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,18 +15,19 @@ const noop = () => {};
function main({ n, port, address }) {
port = port === 'true' ? 0 : undefined;
address = address === 'true' ? '0.0.0.0' : undefined;
var i;

if (port !== undefined && address !== undefined) {
bench.start();
for (let i = 0; i < n; i++) {
for (i = 0; i < n; i++) {
dgram.createSocket('udp4').bind(port, address)
.on('error', noop)
.unref();
}
bench.end(n);
} else if (port !== undefined) {
bench.start();
for (let i = 0; i < n; i++) {
for (i = 0; i < n; i++) {
dgram.createSocket('udp4')
.bind(port)
.on('error', noop)
Expand All @@ -35,7 +36,7 @@ function main({ n, port, address }) {
bench.end(n);
} else if (port === undefined && address === undefined) {
bench.start();
for (let i = 0; i < n; i++) {
for (i = 0; i < n; i++) {
dgram.createSocket('udp4')
.bind()
.on('error', noop)
Expand Down
11 changes: 1 addition & 10 deletions benchmark/domain/domain-fn-args.js
Original file line number Diff line number Diff line change
Expand Up @@ -28,15 +28,6 @@ function main({ n, args }) {
bench.end(n);
}

function fn(a, b, c) {
if (!a)
a = 1;

if (!b)
b = 2;

if (!c)
c = 3;

function fn(a = 1, b = 2, c = 3) {
return a + b + c;
}
4 changes: 1 addition & 3 deletions benchmark/fs/bench-realpath.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,8 @@ function main({ n, pathType }) {
bench.start();
if (pathType === 'relative')
relativePath(n);
else if (pathType === 'resolved')
resolvedPath(n);
else
throw new Error(`unknown "pathType": ${pathType}`);
resolvedPath(n);
}

function relativePath(n) {
Expand Down
20 changes: 3 additions & 17 deletions benchmark/fs/bench-realpathSync.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,24 +15,10 @@ const bench = common.createBenchmark(main, {


function main({ n, pathType }) {
const path = pathType === 'relative' ? relative_path : resolved_path;
bench.start();
if (pathType === 'relative')
relativePath(n);
else if (pathType === 'resolved')
resolvedPath(n);
else
throw new Error(`unknown "pathType": ${pathType}`);
bench.end(n);
}

function relativePath(n) {
for (var i = 0; i < n; i++) {
fs.realpathSync(relative_path);
}
}

function resolvedPath(n) {
for (var i = 0; i < n; i++) {
fs.realpathSync(resolved_path);
fs.realpathSync(path);
}
bench.end(n);
}
7 changes: 0 additions & 7 deletions benchmark/fs/write-stream-throughput.js
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,6 @@ function main({ dur, encodingType, size }) {
try { fs.unlinkSync(filename); } catch (e) {}

var started = false;
var ending = false;
var ended = false;

var f = fs.createWriteStream(filename);
Expand All @@ -52,15 +51,9 @@ function main({ dur, encodingType, size }) {


function write() {
// don't try to write after we end, even if a 'drain' event comes.
// v0.8 streams are so sloppy!
if (ending)
return;

if (!started) {
started = true;
setTimeout(function() {
ending = true;
f.end();
}, dur * 1000);
bench.start();
Expand Down
3 changes: 1 addition & 2 deletions benchmark/misc/freelist.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ function main({ n }) {
const FreeList = require('internal/freelist');
const poolSize = 1000;
const list = new FreeList('test', poolSize, Object);
var i;
var j;
const used = [];

Expand All @@ -23,7 +22,7 @@ function main({ n }) {

bench.start();

for (i = 0; i < n; i++) {
for (var i = 0; i < n; i++) {
// Return all the items to the pool
for (j = 0; j < poolSize; j++) {
list.free(used[j]);
Expand Down
4 changes: 1 addition & 3 deletions benchmark/misc/function_call/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -32,11 +32,9 @@ const bench = common.createBenchmark(main, {
});

function main({ millions, type }) {
const n = millions * 1e6;

const fn = type === 'cxx' ? cxx : js;
bench.start();
for (var i = 0; i < n; i++) {
for (var i = 0; i < millions * 1e6; i++) {
fn();
}
bench.end(millions);
Expand Down
2 changes: 1 addition & 1 deletion benchmark/misc/object-property-bench.js
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,6 @@ function main({ millions, method }) {
runSymbol(n);
break;
default:
throw new Error('Unexpected method');
throw new Error(`Unexpected method "${method}"`);
}
}
5 changes: 2 additions & 3 deletions benchmark/misc/punycode.js
Original file line number Diff line number Diff line change
Expand Up @@ -55,9 +55,8 @@ function runPunycode(n, val) {
}

function runICU(n, val) {
var i = 0;
bench.start();
for (; i < n; i++)
for (var i = 0; i < n; i++)
usingICU(val);
bench.end(n);
}
Expand All @@ -76,6 +75,6 @@ function main({ n, val, method }) {
}
// fallthrough
default:
throw new Error('Unexpected method');
throw new Error(`Unexpected method "${method}"`);
}
}
24 changes: 11 additions & 13 deletions benchmark/module/module-loader.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,10 @@ const bench = common.createBenchmark(main, {
});

function main({ thousands, fullPath, useCache }) {
const n = thousands * 1e3;

tmpdir.refresh();
try { fs.mkdirSync(benchmarkDirectory); } catch (e) {}

for (var i = 0; i <= n; i++) {
for (var i = 0; i <= thousands * 1e3; i++) {
fs.mkdirSync(`${benchmarkDirectory}${i}`);
fs.writeFileSync(
`${benchmarkDirectory}${i}/package.json`,
Expand All @@ -31,37 +29,37 @@ function main({ thousands, fullPath, useCache }) {
}

if (fullPath === 'true')
measureFull(n, useCache === 'true');
measureFull(thousands, useCache === 'true');
else
measureDir(n, useCache === 'true');
measureDir(thousands, useCache === 'true');

tmpdir.refresh();
}

function measureFull(n, useCache) {
function measureFull(thousands, useCache) {
var i;
if (useCache) {
for (i = 0; i <= n; i++) {
for (i = 0; i <= thousands * 1e3; i++) {
require(`${benchmarkDirectory}${i}/index.js`);
}
}
bench.start();
for (i = 0; i <= n; i++) {
for (i = 0; i <= thousands * 1e3; i++) {
require(`${benchmarkDirectory}${i}/index.js`);
}
bench.end(n / 1e3);
bench.end(thousands);
}

function measureDir(n, useCache) {
function measureDir(thousands, useCache) {
var i;
if (useCache) {
for (i = 0; i <= n; i++) {
for (i = 0; i <= thousands * 1e3; i++) {
require(`${benchmarkDirectory}${i}`);
}
}
bench.start();
for (i = 0; i <= n; i++) {
for (i = 0; i <= thousands * 1e3; i++) {
require(`${benchmarkDirectory}${i}`);
}
bench.end(n / 1e3);
bench.end(thousands);
}
7 changes: 4 additions & 3 deletions benchmark/tls/convertprotocols.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,15 @@ const bench = common.createBenchmark(main, {
});

function main({ n }) {
var i = 0;
const input = ['ABC', 'XYZ123', 'FOO'];
var m = {};
// First call dominates results
if (n > 1) {
tls.convertNPNProtocols(['ABC', 'XYZ123', 'FOO'], m);
tls.convertNPNProtocols(input, m);
m = {};
}
bench.start();
for (; i < n; i++) tls.convertNPNProtocols(['ABC', 'XYZ123', 'FOO'], m);
for (var i = 0; i < n; i++)
tls.convertNPNProtocols(input, m);
bench.end(n);
}
4 changes: 1 addition & 3 deletions benchmark/util/format.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,7 @@ const bench = common.createBenchmark(main, {

function main({ n, type }) {
// For testing, if supplied with an empty type, default to string.
type = type || 'string';

const [first, second] = inputs[type];
const [first, second] = inputs[type || 'string'];

bench.start();
for (var i = 0; i < n; i++) {
Expand Down
5 changes: 2 additions & 3 deletions benchmark/util/inspect-array.js
Original file line number Diff line number Diff line change
Expand Up @@ -18,14 +18,13 @@ function main({ n, len, type }) {
var arr = Array(len);
var i, opts;

// For testing, if supplied with an empty type, default to denseArray.
type = type || 'denseArray';

switch (type) {
case 'denseArray_showHidden':
opts = { showHidden: true };
arr = arr.fill('denseArray');
break;
// For testing, if supplied with an empty type, default to denseArray.
case '':
case 'denseArray':
arr = arr.fill('denseArray');
break;
Expand Down
3 changes: 1 addition & 2 deletions benchmark/v8/get-stats.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,8 @@ const bench = common.createBenchmark(main, {
});

function main({ method, n }) {
var i = 0;
bench.start();
for (; i < n; i++)
for (var i = 0; i < n; i++)
v8[method]();
bench.end(n);
}
4 changes: 1 addition & 3 deletions benchmark/vm/run-in-context.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,10 @@ function main({ n, breakOnSigint, withSigintListener }) {
if (withSigintListener)
process.on('SIGINT', () => {});

var i = 0;

const contextifiedSandbox = vm.createContext();

bench.start();
for (; i < n; i++)
for (var i = 0; i < n; i++)
vm.runInContext('0', contextifiedSandbox, options);
bench.end(n);
}
4 changes: 1 addition & 3 deletions benchmark/vm/run-in-this-context.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,8 @@ function main({ n, breakOnSigint, withSigintListener }) {
if (withSigintListener)
process.on('SIGINT', () => {});

var i = 0;

bench.start();
for (; i < n; i++)
for (var i = 0; i < n; i++)
vm.runInThisContext('0', options);
bench.end(n);
}

0 comments on commit f7d9fac

Please sign in to comment.