Speed Performance
by David Hughes
JavaScript
//This is the constructor.
function SpeedTest(testImplement, testParams, repetitions) {
this.testImplement = testImplement;
this.testParams = testParams;
this.repetitions = repetitions || 10000;
this.average = 0;
}
//Add the commonly used methods to prototype
SpeedTest.prototype = {
startTest: function(){
var beginTime, endTime, sumTimes = 0;
for (var i = 0, x = this.repetitions.length; x < i; i++) {
beginTime = +newDate();
this.testImplement( this.testParams );
endTime = +newDate();
sumTimes += endTime - beginTime;
}
this.average = sumTimes / this.repetitions;
return console.log("Average execution across " +
this.repetitions + ": " +
this.average);
}
};
//We wrap our code to test in its own function that can be passed
//around as a set of code to test.
var myNum = 0;
var testHolder = function () {
for (var i = 0; i <= 15; i++) {
myNum = i;
}
};//End of testHolder
//The test CALL
var firstTest = new SpeedTest (testHolder, null, 230000);
firstTest.startTest();