X-Git-Url: http://git.asbjorn.biz/?p=jquery.git;a=blobdiff_plain;f=speed%2Fbenchmark.js;h=50d5cad6949ff6849f69fec5af6c77fe39d590dc;hp=364d7dd35d1174555397b8e4a7b08b8110c51e52;hb=5b421fed003e6704bd0fbba2dea5c1b6add2cf52;hpb=cf7a0cfdc106992ec3073560044304e7e6dcfbbd diff --git a/speed/benchmark.js b/speed/benchmark.js index 364d7dd..50d5cad 100644 --- a/speed/benchmark.js +++ b/speed/benchmark.js @@ -1 +1,15 @@ -// Runs a function many times without the function call overhead function benchmark(fn, times){ 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); } \ No newline at end of file +// Runs a function many times without the function call overhead +function benchmark(fn, times, name){ + fn = fn.toString(); + var s = fn.indexOf('{')+1, + e = fn.lastIndexOf('}'); + fn = fn.substring(s,e); + + 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; +}