summaryrefslogtreecommitdiff
path: root/benchmark
diff options
context:
space:
mode:
authorBrendan Ashworth <brendan.ashworth@me.com>2015-01-29 18:15:57 -0800
committerStephen Belanger <sbelanger@appneta.com>2015-02-02 14:43:16 -0800
commit89dd8e062f462106a6f7d3e92e9d18906445f851 (patch)
tree87efeb98e8416b5aa04f46005458465d2ccd0a18 /benchmark
parent6561274d2377d9fd9c55fa3ce2eb2e53c14d898e (diff)
downloadandroid-node-v8-89dd8e062f462106a6f7d3e92e9d18906445f851.tar.gz
android-node-v8-89dd8e062f462106a6f7d3e92e9d18906445f851.tar.bz2
android-node-v8-89dd8e062f462106a6f7d3e92e9d18906445f851.zip
benchmark: clean up common.js
This commit cleans up `benchmark/common.js` with a few generic changes such as the following: - declare all `require()`'d libraries at the top instead of in the middle - add some empty whitespace where it helps readability - changes ambiguous variable names - standardizes most if / else blocks - missing semicolons PR-URL: https://github.com/iojs/io.js/pull/662 Reviewed-By: Nicu Micleușanu <micnic90@gmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Stephen Belanger <admin@stephenbelanger.com>
Diffstat (limited to 'benchmark')
-rw-r--r--benchmark/common.js30
1 files changed, 17 insertions, 13 deletions
diff --git a/benchmark/common.js b/benchmark/common.js
index d4b8bdfa51..cd75279e65 100644
--- a/benchmark/common.js
+++ b/benchmark/common.js
@@ -1,5 +1,8 @@
var assert = require('assert');
+var fs = require('fs');
var path = require('path');
+var spawn = require('child_process').spawn;
+
var silent = +process.env.NODE_BENCH_SILENT;
exports.PORT = process.env.PORT || 12346;
@@ -13,10 +16,8 @@ if (module === require.main) {
process.exit(1);
}
- var fs = require('fs');
var dir = path.join(__dirname, type);
var tests = fs.readdirSync(dir);
- var spawn = require('child_process').spawn;
if (testFilter) {
var filteredTests = tests.filter(function(item){
@@ -24,6 +25,7 @@ if (module === require.main) {
return item;
}
});
+
if (filteredTests.length === 0) {
console.error(`${testFilter} is not found in \n ${tests.join(' \n')}`);
return;
@@ -48,9 +50,9 @@ function runBenchmarks() {
var a = (process.execArgv || []).concat(test);
var child = spawn(process.execPath, a, { stdio: 'inherit' });
child.on('close', function(code) {
- if (code)
+ if (code) {
process.exit(code);
- else {
+ } else {
console.log('');
runBenchmarks();
}
@@ -79,7 +81,6 @@ Benchmark.prototype.http = function(p, args, cb) {
var self = this;
var wrk = path.resolve(__dirname, '..', 'tools', 'wrk', 'wrk');
var regexp = /Requests\/sec:[ \t]+([0-9\.]+)/;
- var spawn = require('child_process').spawn;
var url = 'http://127.0.0.1:' + exports.PORT + p;
args = args.concat(url);
@@ -101,8 +102,8 @@ Benchmark.prototype.http = function(p, args, cb) {
console.error('wrk failed with ' + code);
process.exit(code)
}
- var m = out.match(regexp);
- var qps = m && +m[1];
+ var match = out.match(regexp);
+ var qps = match && +match[1];
if (!qps) {
console.error('%j', out);
console.error('wrk produced strange output');
@@ -138,7 +139,6 @@ Benchmark.prototype._run = function() {
return newSet;
}, [[main]]);
- var spawn = require('child_process').spawn;
var node = process.execPath;
var i = 0;
function run() {
@@ -163,11 +163,11 @@ function parseOpts(options) {
var num = keys.length;
var conf = {};
for (var i = 2; i < process.argv.length; i++) {
- var m = process.argv[i].match(/^(.+)=(.+)$/);
- if (!m || !m[1] || !m[2] || !options[m[1]])
+ var match = process.argv[i].match(/^(.+)=(.+)$/);
+ if (!match || !match[1] || !match[2] || !options[match[1]]) {
return null;
- else {
- conf[m[1]] = isFinite(m[2]) ? +m[2] : m[2]
+ } else {
+ conf[match[1]] = isFinite(match[2]) ? +match[2] : match[2]
num--;
}
}
@@ -183,16 +183,19 @@ function parseOpts(options) {
Benchmark.prototype.start = function() {
if (this._started)
throw new Error('Called start more than once in a single benchmark');
+
this._started = true;
this._start = process.hrtime();
};
Benchmark.prototype.end = function(operations) {
var elapsed = process.hrtime(this._start);
+
if (!this._started)
throw new Error('called end without start');
if (typeof operations !== 'number')
throw new Error('called end() without specifying operation count');
+
var time = elapsed[0] + elapsed[1]/1e9;
var rate = operations/time;
this.report(rate);
@@ -202,6 +205,7 @@ Benchmark.prototype.report = function(value) {
var heading = this.getHeading();
if (!silent)
console.log('%s: %s', heading, value.toFixed(5));
+
process.exit(0);
};
@@ -210,4 +214,4 @@ Benchmark.prototype.getHeading = function() {
return this._name + ' ' + Object.keys(conf).map(function(key) {
return key + '=' + conf[key];
}).join(' ');
-}
+};