blob: dda992cba707a1e499c9b514ed09f31da5902bb7 [file] [log] [blame]
var Benchmark = {
measureFor: function(f, timeMinimum) {
"use asm";
var elapsed = 0;
var iterations = 0;
var start = +(performance.now());
while (elapsed < timeMinimum) {
iterations++;
f();
elapsed = +(+(performance.now()) - start);
}
return 1000 * elapsed / iterations;
},
measure: function(warmup, exercise) {
if (!exercise) {
exercise = function() {
for (var i = 0; i < 10; i++) {
warmup();
}
};
}
this.measureFor(warmup, 100);
return this.measureFor(exercise, 2000);
},
report: function(name, warmup, exercise) {
var score = this.measure(warmup, exercise);
print(name + "(RunTime): " + Number(score).toFixed(2) + " us.");
}
};