Подтвердить что ты не робот

Профайлинг JavaScript без сбоев в вашем браузере

Итак, попробовал мою руку при профилировании некоторого кода, и я решил, что самый простой способ сделать это (по крайней мере, в Firefox) должен был использовать либо console time/timeEnd, либо profile/profileEnd, и Я попробовал оба.

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

Теперь, например, с 5e4 он работает, но я не думаю, что это достаточно, чтобы обнаружить (очень) микро оптимизацию, но более того, он сработает.

Итак, как вы просматриваете свой JavaScript? Потому что таким образом это практически невозможно.

4b9b3361

Ответ 1

Когда я использовал профиль моего кода JavaScript, я использовал профилировщик Chrome; JavaScript Console в представлении разработчика дает это, и это в значительной степени сработало для меня. Вы когда-нибудь пробовали?

Ответ 2

Я пробовал профилировать страницу с большим количеством скриптов в Firebug на FF4 и то же самое в Chrome (последняя версия). Firefox врезался через секунду или два, у Chrome, похоже, не было проблем с ним. Возможно, вы можете найти что-то на нем в списке проблем Firebug?

Ответ 3

Хотя это не традиционный профилировщик кода, я рекомендую Google Speed ​​Tracer:

Используя Speed ​​Tracer, вы сможете лучше понять, где время тратится в вашем приложении. Это включает проблемы, вызванные разбором и исполнением JavaScript, макетом, перерасчетами стиля CSS и выбором селектора, обработкой событий DOM, загрузкой сетевых ресурсов, таймерами, обратными вызовами XMLHttpRequest, рисованием и т.д.

Ответ 4

Я думаю, что профилировщик JavaScript Debugger (aka Venkman) неплох. Версия на данный момент на addons.mozilla.org не совместима с Firefox 4, но изменения, необходимые для ее работы, были выполнены. Подробнее см. https://bugzilla.mozilla.org/show_bug.cgi?id=614557.

Ответ 5

dynaTrace AJAX edition (бесплатно) - еще один инструмент в вашей сумке. Предлагает несколько более подробные показатели производительности, ИМХО. Раньше они использовались только для IE, но их новая поддерживает FF. Также см. блог Стив Сайтер