Should improve performance of closest considerably. Benchmark proof in speed/closest.html

This commit is contained in:
wycats 2010-10-09 21:33:02 -07:00
parent cbf9d874e5
commit 0ca35de311
3 changed files with 62 additions and 13 deletions

View file

@ -1,9 +1,15 @@
// Runs a function many times without the function call overhead
function benchmark(fn, times){
function benchmark(fn, times, name){
fn = fn.toString();
var s = fn.indexOf('{')+1,
e = fn.lastIndexOf('}');
fn = fn.substring(s,e);
return new Function('i','var t=new Date;while(i--){'+fn+'};return new Date-t')(times);
return benchmarkString(fn, times, name);
}
function benchmarkString(fn, times, name) {
var fn = new Function("i", "var t=new Date; while(i--) {" + fn + "}; return new Date - t")(times)
fn.displayName = name || "benchmarked";
return fn;
}