Напишите функцию makeProfileTimer, которая служит для замера времени выполнения друго
Напишите функцию makeProfileTimer, которая служит для замера времени выполнения другого кода и работает следующим образом:
var timer = makeProfileTimer() doSomething(); //некий код, время выполнения которого мы хотим измерить с высокой точностью alert(timer()); //alert должен вывести время в микросекундах от выполнения makeProfileTimer до момента вызова timer(), // т. е. измерить время выполнения doSomething
function makeProfileTimer(){
var t1 = performance.now();
return function (){
var t2 = performance.now();
console.log(t2-t2);
}
}
function greetAllSample(){
var arr = [];
for(var i=0;i<arguments.length;i++){
arr[i] = arguments[i];
}
return arr;
}
//alert("Hello" + greetAllSample(" Superman"));
var timer = makeProfileTimer();
console.log("Hello" + greetAllSample(" Superman"));
timer();
Помогите понять, уважаемые! |
Синтаксическая ошибка console.log(t2-t1); А так правильно?
|
если хотим замерить с высокой точность, должно быть меньше абстракций
var time = performance.now();
// некий код (функция) которую будем мерить
time = performance.now() - time;
console.log('Время выполнения = ', time);
|
Function.prototype.makeProfileTimer = function(...arg){
var time = performance.now();
var x = this(...arg);
time = performance.now() - time;
console.log('Время выполнения = ', time);
return x;
};
function otherFunc(a,b){
console.log(a,b);
}
otherFunc.makeProfileTimer(1,2);
вот вам вариант если хотите мерить скорость, вызываете метод makeProfileTimer и аргументы передаете в него. |
| Часовой пояс GMT +3, время: 17:29. |