You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
76 lines
1.2 KiB
76 lines
1.2 KiB
/* 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 });
|
|
|