Понимание профилировщика Firebug производится

В Java все находится в форме класса.

Если вы хотите использовать любой объект, тогда у вас есть две фазы:

  1. Объявить
  2. Инициализация

Пример:

  • Объявление: Object a;
  • Инициализация: a=new Object();

То же самое для концепции массива

  • Объявление: Item i[]=new Item[5];
  • Инициализация: i[0]=new Item();

Если вы не дают секцию инициализации, тогда возникает NullpointerException.

34
задан Peter Mortensen 13 May 2011 в 21:23
поделиться

3 ответа

Каждый столбец имеет описание того, что это означает, устанавливаете ли Вы свою мышь для парения над ним в Firebug. Я предположу, что можно читать о том, как каждый столбец работает самостоятельно тогда. Однако Вы определенно столкнулись с некоторым нечетным поведением, которое должно быть объяснено.

собственное время является количеством времени функция, потраченная, выполняя код в себе. Если вызовы функции никакие другие функции, то собственное время должно совпасть с время . Однако, если существуют вызовы вложенной функции, то время также количества время потратило выполнение их. Поэтому время почти всегда будет больше, чем собственное время и в большинстве случаев составит в целом больше, чем общее время, о котором сообщает профилировщик.

Однако никакой единственный функция время должно быть больше, чем общее время профилировщик, зарегистрированный для вызовов JavaScript. Этой проблемой является определенно ошибка, и я вижу, почему Вы испытываете затруднения доверчивый Firebug, когда это дает Вам такой парадоксальный вывод. Я полагаю, что разыскал причину, эта ошибка происходит: Ajax.

кажется, что вызовы Ajax вызывают столбцы, которые считают вызовы вложенной функции для сообщения неправильной информации. Они заканчивают тем, что считали и время выполнения JavaScript и запрос к серверу.

можно воспроизвести эту ошибку профилировщика путем выполнения следующего:

  1. Переходят к любому сайту, который использует Ajax. (Я использовал http://juicystudio.com/experiments/ajax/index.php )
  2. , Включают отладку Консоли/Сценария.
  3. Включают профилировщика.
  4. Выполняют вызов Ajax. (Несколько могут осветить проблему больше.)
  5. Остановка профилировщик, исследуйте вывод.

В этом примере, относительно время по сравнению с собственное время , собственное время из каждой функции составляет в целом общее время профилировщика, но время столбец включает количество времени, которое вызов Ajax занял, чтобы говорить с сервером. Это означает, что время столбец является неправильным при поиске просто скорости выполнения JavaScript.

Это становится худшим: с тех пор время , среднее время , минута и макс. все вызовы вложенной функции количества, они являются все неправильными, если Вы используете Ajax. Вдобавок ко всему, любая функция, которая в конечном счете использует Ajax (в вызове вложенной функции) также сообщит об их времени неправильно. Это означает, что большая функции может сообщать неправильную информацию! Не доверяйте ни одному из тех столбцов на данный момент, пока Firebug не устранит проблему. (Возможно, что они предназначили поведение, чтобы быть этим путем, хотя это сбивает с толку в лучшем случае для отъезда этого этим путем.)

, Если Вы не используете Ajax, тогда другая проблема приведена в действие; сообщите нам, ли Вы или нет.

25
ответ дан 27 November 2019 в 17:10
поделиться

Если я понимаю вещи правильно, это проходит примерно так:

На первой строке Вы будете видеть, что Собственное время составляет "только 0,006 мс". Это означает что даже при том, что время, проведенное в той функции, составляло 783,506 мс, большая часть из нее была потрачена на внутренние функции, вызванные от той функции.

, Когда я использую Firebug для оптимизации кода, я пытаюсь уменьшить "собственное время" функций, которые вызваны больше всего. (очевидно, проверяющий также на любые ненужные вызовы функции удалить в целом)

5
ответ дан 27 November 2019 в 17:10
поделиться

От Учебное руководство по Firebug - Вход, Профилирование и CommandLine (Вторая часть) : (примеры там хороши)

Столбцы и Описание Профилировщика

столбец Function: Это показывает название каждой функции.
столбец Call: Это показывает количество того, сколько была вызвана конкретная функция.
столбец Percent: Это показывает трудоемкую из каждой функции в проценте.
Столбец времени : Это показывает продолжительность выполнения от стартовой точки функции до конца точка функции.
столбец Avg: Это показывает среднее время выполнения конкретной функции. Если Вы вызываете функцию только один раз, Вы, won’t видят различия. Если Вы будете звонить больше чем в один раз, то когда Вы будете видеть различия.
формула для того столбца
В среднем =, Владеют Ttime / Вызов;
столбец Min и столбец Max: Это показывает минимальное время выполнения конкретной функции.
столбец File: имя файла файла, где расположенная функция.

5
ответ дан 27 November 2019 в 17:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: