123456789101112131415 |
- // 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;
- }
|