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