tools,benchmark: use stricter indentation linting
Enable stricter indentation rules for benchmark code. PR-URL: https://github.com/nodejs/node/pull/13895 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Roman Reiss <me@silverwind.io> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: Michaël Zasso <targos@protonmail.com>
This commit is contained in:
parent
1e5e0ce862
commit
496f60489d
13
benchmark/.eslintrc.yaml
Normal file
13
benchmark/.eslintrc.yaml
Normal file
@ -0,0 +1,13 @@
|
||||
## Benchmarks-specific linter rules
|
||||
|
||||
rules:
|
||||
# Stylistic Issues
|
||||
# http://eslint.org/docs/rules/#stylistic-issues
|
||||
indent: [2, 2, {ArrayExpression: first,
|
||||
CallExpression: {arguments: first},
|
||||
FunctionDeclaration: {parameters: first},
|
||||
FunctionExpression: {parameters: first},
|
||||
MemberExpression: off,
|
||||
ObjectExpression: first,
|
||||
SwitchCase: 1}]
|
||||
indent-legacy: 0
|
@ -87,8 +87,8 @@ class BenchmarkProgress {
|
||||
const runsPerFile = this.runsPerFile;
|
||||
const completedFiles = Math.floor(completedRuns / runsPerFile);
|
||||
const scheduledFiles = this.benchmarks.length;
|
||||
const completedRunsForFile = finished ? runsPerFile :
|
||||
completedRuns % runsPerFile;
|
||||
const completedRunsForFile =
|
||||
finished ? runsPerFile : completedRuns % runsPerFile;
|
||||
const completedConfig = this.completedConfig;
|
||||
const scheduledConfig = this.scheduledConfig;
|
||||
|
||||
@ -101,12 +101,11 @@ class BenchmarkProgress {
|
||||
const percent = pad(Math.floor(completedRate * 100), 3, ' ');
|
||||
|
||||
const caption = finished ? 'Done\n' : this.currentFile;
|
||||
return `[${getTime(diff)}|% ${
|
||||
percent}| ${
|
||||
fraction(completedFiles, scheduledFiles)} files | ${
|
||||
fraction(completedRunsForFile, runsPerFile)} runs | ${
|
||||
fraction(completedConfig, scheduledConfig)} configs]: ${
|
||||
caption} `;
|
||||
return `[${getTime(diff)}|% ${percent}| ` +
|
||||
`${fraction(completedFiles, scheduledFiles)} files | ` +
|
||||
`${fraction(completedRunsForFile, runsPerFile)} runs | ` +
|
||||
`${fraction(completedConfig, scheduledConfig)} configs]: ` +
|
||||
`${caption} `;
|
||||
}
|
||||
|
||||
updateProgress(finished) {
|
||||
|
@ -13,9 +13,8 @@ exports.PORT = process.env.PORT || 12346;
|
||||
class AutocannonBenchmarker {
|
||||
constructor() {
|
||||
this.name = 'autocannon';
|
||||
this.executable = process.platform === 'win32' ?
|
||||
'autocannon.cmd' :
|
||||
'autocannon';
|
||||
this.executable =
|
||||
process.platform === 'win32' ? 'autocannon.cmd' : 'autocannon';
|
||||
const result = child_process.spawnSync(this.executable, ['-h']);
|
||||
this.present = !(result.error && result.error.code === 'ENOENT');
|
||||
}
|
||||
@ -136,19 +135,19 @@ exports.run = function(options, callback) {
|
||||
benchmarker: exports.default_http_benchmarker
|
||||
}, options);
|
||||
if (!options.benchmarker) {
|
||||
callback(new Error(`Could not locate required http benchmarker. See ${
|
||||
requirementsURL} for further instructions.`));
|
||||
callback(new Error('Could not locate required http benchmarker. See ' +
|
||||
`${requirementsURL} for further instructions.`));
|
||||
return;
|
||||
}
|
||||
const benchmarker = benchmarkers[options.benchmarker];
|
||||
if (!benchmarker) {
|
||||
callback(new Error(`Requested benchmarker '${
|
||||
options.benchmarker}' is not supported`));
|
||||
callback(new Error(`Requested benchmarker '${options.benchmarker}' ` +
|
||||
'is not supported'));
|
||||
return;
|
||||
}
|
||||
if (!benchmarker.present) {
|
||||
callback(new Error(`Requested benchmarker '${
|
||||
options.benchmarker}' is not installed`));
|
||||
callback(new Error(`Requested benchmarker '${options.benchmarker}' ` +
|
||||
'is not installed'));
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -26,8 +26,8 @@ function compareUsingOffset(b0, b1, len, iter) {
|
||||
function main(conf) {
|
||||
const iter = (conf.millions >>> 0) * 1e6;
|
||||
const size = (conf.size >>> 0);
|
||||
const method = conf.method === 'slice' ?
|
||||
compareUsingSlice : compareUsingOffset;
|
||||
const method =
|
||||
conf.method === 'slice' ? compareUsingSlice : compareUsingOffset;
|
||||
method(Buffer.alloc(size, 'a'),
|
||||
Buffer.alloc(size, 'b'),
|
||||
size >> 1,
|
||||
|
@ -26,7 +26,7 @@ if (process.argv[2] === 'child') {
|
||||
|
||||
const options = { 'stdio': ['ignore', 1, 2, 'ipc'] };
|
||||
const child = spawn(process.argv[0],
|
||||
[process.argv[1], 'child', len], options);
|
||||
[process.argv[1], 'child', len], options);
|
||||
|
||||
var bytes = 0;
|
||||
child.on('message', function(msg) {
|
||||
|
@ -20,10 +20,7 @@ const cli = CLI(`usage: ./node compare.js [options] [--] <category> ...
|
||||
--filter pattern string to filter benchmark scripts
|
||||
--set variable=value set benchmark variable (can be repeated)
|
||||
--no-progress don't show benchmark progress indicator
|
||||
`, {
|
||||
arrayArgs: ['set'],
|
||||
boolArgs: ['no-progress']
|
||||
});
|
||||
`, { arrayArgs: ['set'], boolArgs: ['no-progress'] });
|
||||
|
||||
if (!cli.optional.new || !cli.optional.old) {
|
||||
cli.abort(cli.usage);
|
||||
@ -85,8 +82,8 @@ if (showProgress) {
|
||||
// Escape quotes (") for correct csv formatting
|
||||
conf = conf.replace(/"/g, '""');
|
||||
|
||||
console.log(`"${job.binary}", "${job.filename}", "${conf}", ${
|
||||
data.rate}, ${data.time}`);
|
||||
console.log(`"${job.binary}", "${job.filename}", "${conf}", ` +
|
||||
`${data.rate}, ${data.time}`);
|
||||
if (showProgress) {
|
||||
// One item in the subqueue has been completed.
|
||||
progress.completeConfig(data);
|
||||
|
@ -11,9 +11,7 @@ const cli = CLI(`usage: ./node run.js [options] [--] <category> ...
|
||||
--filter pattern string to filter benchmark scripts
|
||||
--set variable=value set benchmark variable (can be repeated)
|
||||
--format [simple|csv] optional value that specifies the output format
|
||||
`, {
|
||||
arrayArgs: ['set']
|
||||
});
|
||||
`, { arrayArgs: ['set'] });
|
||||
const benchmarks = cli.benchmarks();
|
||||
|
||||
if (benchmarks.length === 0) {
|
||||
|
@ -13,9 +13,7 @@ const cli = CLI(`usage: ./node scatter.js [options] [--] <filename>
|
||||
|
||||
--runs 30 number of samples
|
||||
--set variable=value set benchmark variable (can be repeated)
|
||||
`, {
|
||||
arrayArgs: ['set']
|
||||
});
|
||||
`, { arrayArgs: ['set'] });
|
||||
|
||||
if (cli.items.length !== 1) {
|
||||
cli.abort(cli.usage);
|
||||
|
Loading…
x
Reference in New Issue
Block a user