b5f3067a6a
Initial setup of project dependencies including axios, express, dotenv, and other supporting packages. Added configuration files and documentation for project setup and usage.
77 lines
1.2 KiB
JavaScript
77 lines
1.2 KiB
JavaScript
/* eslint no-console: "off" */
|
|
|
|
var asynckit = require('./')
|
|
, async = require('async')
|
|
, assert = require('assert')
|
|
, expected = 0
|
|
;
|
|
|
|
var Benchmark = require('benchmark');
|
|
var suite = new Benchmark.Suite;
|
|
|
|
var source = [];
|
|
for (var z = 1; z < 100; z++)
|
|
{
|
|
source.push(z);
|
|
expected += z;
|
|
}
|
|
|
|
suite
|
|
// add tests
|
|
|
|
.add('async.map', function(deferred)
|
|
{
|
|
var total = 0;
|
|
|
|
async.map(source,
|
|
function(i, cb)
|
|
{
|
|
setImmediate(function()
|
|
{
|
|
total += i;
|
|
cb(null, total);
|
|
});
|
|
},
|
|
function(err, result)
|
|
{
|
|
assert.ifError(err);
|
|
assert.equal(result[result.length - 1], expected);
|
|
deferred.resolve();
|
|
});
|
|
}, {'defer': true})
|
|
|
|
|
|
.add('asynckit.parallel', function(deferred)
|
|
{
|
|
var total = 0;
|
|
|
|
asynckit.parallel(source,
|
|
function(i, cb)
|
|
{
|
|
setImmediate(function()
|
|
{
|
|
total += i;
|
|
cb(null, total);
|
|
});
|
|
},
|
|
function(err, result)
|
|
{
|
|
assert.ifError(err);
|
|
assert.equal(result[result.length - 1], expected);
|
|
deferred.resolve();
|
|
});
|
|
}, {'defer': true})
|
|
|
|
|
|
// add listeners
|
|
.on('cycle', function(ev)
|
|
{
|
|
console.log(String(ev.target));
|
|
})
|
|
.on('complete', function()
|
|
{
|
|
console.log('Fastest is ' + this.filter('fastest').map('name'));
|
|
})
|
|
// run async
|
|
.run({ 'async': true });
|