24 lines
		
	
	
		
			488 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			24 lines
		
	
	
		
			488 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
// Taken from: http://ejohn.org/blog/javascript-benchmark-quality/
 | 
						|
module.exports = runTest(name, test, next, callback){
 | 
						|
  var runs = [], r = 0;
 | 
						|
  setTimeout(function(){
 | 
						|
    var start = Date.now(), diff = 0;
 | 
						|
 | 
						|
    for ( var n = 0; diff < 1000; n++ ) {
 | 
						|
      test();
 | 
						|
      diff = Date.now() - start;
 | 
						|
    }
 | 
						|
 | 
						|
    runs.push( n );
 | 
						|
 | 
						|
    if ( r++ < 4 )
 | 
						|
      setTimeout( arguments.callee, 0 );
 | 
						|
    else {
 | 
						|
      done(name, runs);
 | 
						|
      if ( next )
 | 
						|
        setTimeout( next, 0 );
 | 
						|
    }
 | 
						|
  }, 0);
 | 
						|
}
 | 
						|
 |