Профилирование JavaScript без сбоя вашего браузера - PullRequest
12 голосов
/ 24 апреля 2011

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

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

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

Так как вы профилируете свой JavaScript? Потому что это едва ли возможно.

Ответы [ 5 ]

2 голосов
/ 24 апреля 2011

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

2 голосов
/ 24 апреля 2011

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

1 голос
/ 25 апреля 2011

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

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

0 голосов
/ 25 апреля 2011

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

0 голосов
/ 24 апреля 2011

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

...