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 });
 | 
						|
 |