Який найкращий спосіб виконати профіль JavaScript? [зачинено]


94

Чи є хороший профілер для javascript? Я знаю, що firebug має певну підтримку профілювання коду. Але я хочу визначити статистику в більш тривалому масштабі. Уявіть, що ви створюєте багато коду javascript і хочете визначити, що насправді є вузькими місцями в коді. Спочатку я хочу побачити статистику профілю кожної функції javascript та час її виконання. Далі буде включення функцій DOM. Це в поєднанні з діями, які уповільнюють такі дії, як операція на дереві візуалізації була б ідеальною. Я думаю, що це створить гарне враження, якщо виставу буде вбито в моєму коді, в DOM-підготовці або в оновленнях до дерева візуалізації / візуального.

Чи є щось близьке до того, що я хочу? Або що було б найкращим інструментом для досягнення найбільшого з того, що я описав? Це був би самостійно складений веб-переглядач плюс механізм javascript, розширений функціональністю профілю?


Якщо NODE_ENV=production node --prof app.jsцього не зробити, перегляньте варіанти stackify.com/node-js-profilers або softwarerecs.stackexchange.com для альтернатив.
Cees Timmerman

Відповіді:


63

Firebug

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

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

Вам потрібно зателефонувати, console.profileEnd ()щоб закінчити свій профіль профілю. Дивіться API консолі тут: http://getfirebug.com/wiki/index.php/Console_API

Чорна пташка

Blackbird ( офіційний сайт ) також має більш простий профілер (його можна завантажити тут )


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

1
Діто в Firebug, і ви можете робити профіль прямо з консолі, якщо не хочете його кодувати.
Кріс Б

1
Firebug - це майже найкращий інструмент, який ви отримаєте.
Саша Чедигов

1
Те саме працює у веб-інспекторі Safari
olliej

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

20

Інструменти для розробників Chrome мають вбудований профілер.


2
+1, Speed ​​Tracer - це добре, і важливо (як згадувалося в ОП) профайл свого коду в більш ніж просто 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 також включає в себе профайлер (хоча версія в солов'ї вдосконалена, рекурсивні виклики функції). Веб-інспектор також підтримує профілі API Firebug.


4

Для JavaScript, XmlHttpRequest, доступу до DOM, часу надання та мережевий трафік для IE6, 7 та 8 ви можете використовувати БЕЗКОШТОВНУ версію dynaTrace AJAX


будь ласка, інструкцію, як встановити це як додаток / розширення у браузері.
Т.Тодуа
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.