77 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			77 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| /* 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 });
 |