При написании программы JavaScript, если вам нужно знать время выполнения определенного фрагмента кода, вы можете использовать console.time (). Однако при анализе программ JavaScript с более сложной логикой и попыткой найти узкие места для производительности, консоль.time () не применим - углубленный анализ операции программ JavaScript с более сложной логикой означает вставку большого количества консоли. Time (), что, несомненно, неприемлемо. Для настройки программы JavaScript со сложной логикой, правильным способом является использование console.profile ().
Поддержка браузера
Firefox, Google Chrome и Safari, которые установили плагин Firebug, все опорные консоли. Profile () операторы (), и последние версии IE и Opera также предоставляют функции профиля. Использование консоли.profile () в нескольких основных браузерах аналогично. Эта статья представляет только использование console.profile () в Firebug. Одна вещь, которая стоит отметить, заключается в том, что если вы используете консоль Firebug для непосредственного написания экспериментального кода JavaScript, то console.profile () недействителен.
Использование консоли.profile ()
Использование console.profile () очень просто: вставьте консоль. Profile (), где вам нужно запустить профиль и вставить консоль.profileend (), где вы заканчиваете профиль. Следующий код является примером:
Кода -копия выглядит следующим образом:
функция dotask () {
Dosubtaska (1000);
Dosubtaska (100000);
dosubtaskb (10000);
dosubtaskc (1000 10000);
}
функция dosubtaska (count) {
for (var i = 0; i <count; i ++) {}
}
функция dosubtaskb (count) {
for (var i = 0; i <count; i ++) {}
}
функция dosubtaskc (countx, county) {
для (var i = 0; i <countx; i ++) {
for (var j = 0; j <графство; j ++) {}
}
}
console.profile ();
dotask ();
console.profileend ();
Выполнить консоли.profile () перед запуском функции dotask (). После завершения функции dotask () подробная информация в процессе выполнения функции dotask () может быть собрана. Вы можете увидеть в консоли Firebug:
Из результатов мы видим, что время профиля составляет 101,901 мс, включая 5 вызовов функций. Название результата по умолчанию - «профиль», который можно настроить путем передачи параметров в функцию console.profile (). Например, использование console.profile («Профиль тестирования») может изменить заголовок этого профиля на «Профиль тестирования» в результате, что особенно полезно, когда процессы нескольких профилей выполняются одновременно. Значение каждого столбца в конкретном результате профиля:
1. Функция. Имя функции.
2. Позволь. Количество звонков. Например, в приведенном выше примере функция dosubtaska () выполняется дважды.
3. Процент времени, потребляемого этой функцией, вызовом в общее время.
4. Время. За исключением времени, необходимого для вызова других функций, количество времени, занятого самой функцией. Например, в приведенном выше примере Dotask (), несомненно, потребовалось много времени, чтобы выполнить, но поскольку потребовалось все время, чтобы вызвать другие функции, это не заняло много времени, всего 0,097 мс.
5. Время. В отличие от собственного времени, общий трудоемкий расчет функции не учитывается при вызове факторов для других функций. В приведенном выше примере функция dotask () выполняет 101,901 мс. В течение времени и времени вы также можете сделать вывод: если время больше, чем собственное время, то призыв к другим функциям участвует в функции.
6.Avg. Формула расчета: avg = время/вызовы. В приведенном выше примере функция Dosubtaska () была выполнена дважды, а общее время составляло 1,054 мс, поэтому ее среднее общее время составило 0,527 мс.
7. Мининг. Минимальный трудоемкий, чтобы назвать эту функцию. Например, в приведенном выше примере функция dosubtaska () выполняется дважды, и ее минимальное трудоемкое трудоемкость состоит в том, что вызов, который требует меньше времени, чтобы потратить 0,016 мс.
8.max. Максимальное время для названия этой функции. Например, в приведенном выше примере функция dosubtaska () была выполнена дважды, и ее максимально трудоемкий процесс заключается в том, что вызов, который потребовался больше времени, чтобы потратить 1,038 мс.
9.file. Файл JS, в котором находится функция.
Использование кнопок профиля в Firebug
В дополнение к вставке оператора console.profile () в код JavaScript, Firebug также предоставляет кнопку профиля для динамического и в профиле в реальном времени код JavaScript на странице. Положение кнопки:
Когда требуется профиль, вы можете нажать кнопку, и если операция следующей страницы вызовет любой код JavaScript, Firebug будет записывать ее. В конце процесса профиля просто нажмите кнопку еще раз. Окончательный результат согласуется с результатом, полученным путем вставки оператора Console.profile ().