1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- /**
- * Benchmark runner dependencies
- */
- var colors = require('colors')
- , path = require('path');
- /**
- * Find all the benchmarks
- */
- var benchmarks_files = process.env.BENCHMARKS.split(' ')
- , all = [].concat(benchmarks_files)
- , first = all.shift()
- , benchmarks = {};
- // find the benchmarks and load them all in our obj
- benchmarks_files.forEach(function (file) {
- benchmarks[file] = require(path.join(__dirname, '..', file));
- });
- // setup the complete listeners
- benchmarks_files.forEach(function (file) {
- var benchmark = benchmarks[file]
- , next_file = all.shift()
- , next = benchmarks[next_file];
- /**
- * Generate a oncomplete function for the tests, either we are done or we
- * have more benchmarks to process.
- */
- function complete () {
- if (!next) {
- console.log(
- '\n\nBenchmark completed in'.grey
- , (Date.now() - start).toString().green + ' ms'.grey
- );
- } else {
- console.log('\nStarting benchmark '.grey + next_file.yellow);
- next.run();
- }
- }
- // attach the listener
- benchmark.on('complete', complete);
- });
- /**
- * Start the benchmark
- */
- var start = Date.now();
- console.log('Starting benchmark '.grey + first.yellow);
- benchmarks[first].run();
|