Как лучше всего профилировать выполнение javascript? [закрыто]


94

Есть ли хороший профилировщик для javascript? Я знаю, что firebug поддерживает некоторую поддержку кода профилирования. Но я хочу определить статистику в более широком масштабе. Представьте, что вы создаете много кода javascript и хотите определить, какие на самом деле узкие места в коде. Сначала я хочу увидеть статистику профиля каждой функции javascript и время выполнения. Следующим шагом будет включение функций DOM. В сочетании с действиями, которые замедляют работу, такие как операции с деревом рендеринга, было бы идеально. Я думаю, что это произведет хорошее впечатление, если производительность упадет в моем коде, при подготовке DOM или в обновлениях дерева / визуализации рендеринга.

Есть ли что-то близкое к тому, что я хочу? Или что было бы лучшим инструментом для достижения большей части того, что я описал? Будет ли это самокомпилированный браузер плюс движок javascript, расширенный функциональностью профиля?


Если NODE_ENV=production node --prof app.jsэтого не произойдет, см. Альтернативные варианты на stackify.com/node-js-profilers или softwarerecs.stackexchange.com .
Сес Тиммерман,

Ответы:


63

Firebug

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

console.profile([title])
//also see
console.trace()

Вам необходимо позвонить, console.profileEnd ()чтобы завершить блокировку профиля. См. Консольный API здесь: http://getfirebug.com/wiki/index.php/Console_API

Blackbird

Blackbird ( официальный сайт ) также имеет более простой профайлер (его можно скачать отсюда )


Я написал, что знаю firefox. Я хочу получать больше статистики из браузера, влияющего на выполнение javascript.
Норберт Хартл,

1
То же самое и с Firebug, и вы можете профилировать прямо с консоли, если не хотите его кодировать.
Chris B

1
Firebug - лучший инструмент, который вы получите.
Саша Чедыгов

1
То же самое работает в Safari Web Inspector
olliej

9
Firebug - это хорошо и все такое, но я не могу поверить, что здесь так много людей скандирующих «Firebug, Firebug!» сразу после того, как ОП явно заявил, что хочет профилировать свой код из нескольких браузеров.
JMTyler

20

Инструменты разработчика Chrome имеют встроенный профилировщик.


2
+1, Speed ​​Tracer - это хорошо, и важно (как упоминалось в OP) профилировать свой код не только в Firefox, чтобы увидеть, как на него влияет отдельный браузер.
JMTyler

12

Хотя Firebug уже упоминался, еще одна вещь, на которую вы хотели бы обратить внимание с Firebug, - это плагин для Firebug под названием FireUnit ; Джон Ресиг говорит об этом в своем блоге:

Профилирование вызовов функций JavaScript

Надеюсь, это поможет.


Кажется, вот ссылка для скачивания - github.com/jeresig/fireunit/tree/master
T.Todua

4

Firebug + Firefox просто необходим. Панель инструментов разработчика IE 8 также имеет встроенный профилировщик (IE 8 поставляется с панелью инструментов разработчика).


4

Веб-инспектор Safari 4 также включает профилировщик (хотя версия в nightlies улучшена по сравнению с рекурсивными вызовами функций). Web Inspector также поддерживает API профилировщика Firebug.


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.