Напишите функцию 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, время: 02:47. |