Skip to content

Instantly share code, notes, and snippets.

@whitershade
Last active February 15, 2017 09:16
Show Gist options
  • Save whitershade/0ad945e00ad0d5ee2fb9d398db769cfe to your computer and use it in GitHub Desktop.
Save whitershade/0ad945e00ad0d5ee2fb9d398db769cfe to your computer and use it in GitHub Desktop.
js speed test from code school
/*
* var BPtest = new SpeedTest( noBP,listsForTests );
* BPtest.startTest();
*/
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);
}
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment