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.
		
		
		
		
		
			
		
			
				
					77 lines
				
				1.2 KiB
			
		
		
			
		
	
	
					77 lines
				
				1.2 KiB
			| 
											3 years ago
										 | /* 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 }); |