|
|
|
|
|
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('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}) |
|
|
|
|
|
|
|
.on('cycle', function(ev) |
|
{ |
|
console.log(String(ev.target)); |
|
}) |
|
.on('complete', function() |
|
{ |
|
console.log('Fastest is ' + this.filter('fastest').map('name')); |
|
}) |
|
|
|
.run({ 'async': true }); |
|
|