1 |
|
2 |
|
3 | var asynckit = require('./')
|
4 | , async = require('async')
|
5 | , assert = require('assert')
|
6 | , expected = 0
|
7 | ;
|
8 |
|
9 | var Benchmark = require('benchmark');
|
10 | var suite = new Benchmark.Suite;
|
11 |
|
12 | var source = [];
|
13 | for (var z = 1; z < 100; z++)
|
14 | {
|
15 | source.push(z);
|
16 | expected += z;
|
17 | }
|
18 |
|
19 | suite
|
20 |
|
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 |
|
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 |
|
76 | .run({ 'async': true });
|