• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/* eslint no-console: "off" */
2
3var asynckit = require('./')
4  , async    = require('async')
5  , assert   = require('assert')
6  , expected = 0
7  ;
8
9var Benchmark = require('benchmark');
10var suite = new Benchmark.Suite;
11
12var source = [];
13for (var z = 1; z < 100; z++)
14{
15  source.push(z);
16  expected += z;
17}
18
19suite
20// add tests
21
22.add('async.map', function(deferred)
23{
24  var total = 0;
25
26  async.map(source,
27  function(i, cb)
28  {
29    setImmediate(function()
30    {
31      total += i;
32      cb(null, total);
33    });
34  },
35  function(err, result)
36  {
37    assert.ifError(err);
38    assert.equal(result[result.length - 1], expected);
39    deferred.resolve();
40  });
41}, {'defer': true})
42
43
44.add('asynckit.parallel', function(deferred)
45{
46  var total = 0;
47
48  asynckit.parallel(source,
49  function(i, cb)
50  {
51    setImmediate(function()
52    {
53      total += i;
54      cb(null, total);
55    });
56  },
57  function(err, result)
58  {
59    assert.ifError(err);
60    assert.equal(result[result.length - 1], expected);
61    deferred.resolve();
62  });
63}, {'defer': true})
64
65
66// add listeners
67.on('cycle', function(ev)
68{
69  console.log(String(ev.target));
70})
71.on('complete', function()
72{
73  console.log('Fastest is ' + this.filter('fastest').map('name'));
74})
75// run async
76.run({ 'async': true });
77