Skip to content

Instantly share code, notes, and snippets.

@mtoso
Last active August 29, 2015 14:23
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mtoso/fb19c1bdad4856c657fb to your computer and use it in GitHub Desktop.
Save mtoso/fb19c1bdad4856c657fb to your computer and use it in GitHub Desktop.
A simple javascript class for speed testing
var SpeedTest = function(testImplement,testParams,repetitions){
this.testImplement = testImplement;
this.testParams = testParams;
this.repetitions = repetitions || 10000;
this.average = 0;
};
SpeedTest.prototype = {
startTest: function(){
if( this.testImplement( this.testParams ) === false ){
alert("Yo, man, that test failed with those parameters.");
return;
}
var beginTime, endTime, sumTimes = 0;
for (var i = 0, x = this.repetitions; i < x; i++){
beginTime = +new Date();
this.testImplement( this.testParams );
endTime = +new Date();
sumTimes += endTime - beginTime;
}
this.average = sumTimes / this.repetitions;
return console.log("Average execution across " + this.repetitions + ": " + this.average);
}
};
/* Use:
var test = new SpeedTest(<function>, <params>, <# of iterations>);
test.startTest();
*/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment