Blame view

node_modules/asynckit/bench.js 1.23 KB
aaac7fed   liuqimichale   add
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
  /* 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 });