mark.js 488 B

1234567891011121314151617181920212223
  1. // Taken from: http://ejohn.org/blog/javascript-benchmark-quality/
  2. module.exports = runTest(name, test, next, callback){
  3. var runs = [], r = 0;
  4. setTimeout(function(){
  5. var start = Date.now(), diff = 0;
  6. for ( var n = 0; diff < 1000; n++ ) {
  7. test();
  8. diff = Date.now() - start;
  9. }
  10. runs.push( n );
  11. if ( r++ < 4 )
  12. setTimeout( arguments.callee, 0 );
  13. else {
  14. done(name, runs);
  15. if ( next )
  16. setTimeout( next, 0 );
  17. }
  18. }, 0);
  19. }