From 31314b697874eabe2308bd26b98b72aff3e13ef6 Mon Sep 17 00:00:00 2001 From: Trevor Norris Date: Wed, 20 Mar 2013 01:58:11 -0700 Subject: [PATCH] bench: compare binaries equal times The benchmark compare would drop the last run of the binary pairs. So when they were only run once an error would arise because no data was generated for the second binary. --- benchmark/compare.js | 24 ++++++------------------ 1 file changed, 6 insertions(+), 18 deletions(-) diff --git a/benchmark/compare.js b/benchmark/compare.js index 2e365454b6..d6ad44922d 100644 --- a/benchmark/compare.js +++ b/benchmark/compare.js @@ -48,36 +48,24 @@ if (nodes.length !== 2) var spawn = require('child_process').spawn; var results = {}; -var n = 1; +var toggle = 1; +var r = (+process.env.NODE_BENCH_RUNS || 1) * 2; run(); - -var RUNS = +process.env.NODE_BENCH_RUNS || 1; -var r = RUNS; function run() { - // Flip back and forth between the two binaries. - if (n === 1) { - n--; - } else { - r--; - if (r === 0) - return compare(); - else - n++; - } - - if (n === -1) + if (--r < 0) return compare(); + toggle = ++toggle % 2; - var node = nodes[n]; + var node = nodes[toggle]; console.error('running %s', node); var env = {}; for (var i in process.env) env[i] = process.env[i]; env.NODE = node; - var child = spawn('make', [runBench], { env: env }); var out = ''; + var child = spawn('make', [runBench], { env: env }); child.stdout.setEncoding('utf8'); child.stdout.on('data', function(c) { out += c;