Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save jonathanargentiero/62a88560182d17c44bd336d74431fb3a to your computer and use it in GitHub Desktop.

Select an option

Save jonathanargentiero/62a88560182d17c44bd336d74431fb3a to your computer and use it in GitHub Desktop.
SpeedTest from CodeSchools
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('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);
}
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment