2009-05-12 21 views
81

Czy istnieje dobry profiler dla javascript? Wiem, że firebug ma pewne wsparcie dla profilowania kodu. Ale chcę ustalić statystyki na dłuższą skalę. Wyobraź sobie, że budujesz dużo kodu javascript i chcesz określić, co właściwie jest wąskim gardłem w kodzie. Na początku chcę zobaczyć statystyki profilu każdej funkcji javascript i czasu wykonania. Dalej będą funkcje DOM. W połączeniu z działaniami, które spowalniają działanie, operacja na drzewie renderowania byłaby doskonała. Myślę, że to by zrobiło dobre wrażenie, gdyby wydajność została zabita w moim kodzie, w przygotowaniu DOM lub w aktualizacjach drzewa renderowania/wizualnego.Jaki jest najlepszy sposób profilowania wykonywania javascript?

Czy jest coś blisko tego, co chcę? Albo jakie byłoby najlepsze narzędzie do osiągnięcia większości z tego, co opisałem? Czy byłby to samo skompilowana przeglądarka plus silnik javascript rozszerzony o funkcje profilu?

Odpowiedz

60

Firebug

Firebug dostarcza bardzo szczegółowy raport profilowania. Pokaże Ci, jak długo każde wywołanie metody ma gigantyczną (szczegółową) tabelę. Aby zakończyć swój blok profilu, musisz zadzwonić pod numer console.profileEnd(). Zobacz API konsoli tutaj: http://getfirebug.com/wiki/index.php/Console_API

Blackbird

Blackbird (official site) również prostszy profilera (można pobrać z here)

+0

Napisałem, że znam firefox. Chcę mieć więcej statystyk z przeglądarki, które wpływają na wykonanie javascript. –

+0

errr ... Miałem na myśli firebuga;) –

+1

Ditto on Firebug, i możesz profilować prosto z konsoli, jeśli nie chcesz tego koduować. –

4

+ Firebug Firefox to musi mieć. Pasek narzędzi programisty na IE 8 ma również wbudowany profiler (IE 8 jest dostarczany z paskiem narzędzi dla programistów).

4

Internetowy inspektor Safari 4 zawiera również profiler (chociaż wersja w nightlies jest poprawiona w. Rekurencyjne wywołania funkcji). Web Inspector obsługuje także interfejsy API profilera Firebug.

12

Chociaż wspomniano o Firebug, jedną dodatkową rzeczą, którą chciałbyś obejrzeć z Firebugiem, jest wtyczka do Firebuga o nazwie FireUnit; John Resig mówi o nim w tym blogu:

JavaScript Function Call Profiling

nadzieję, że pomoże.

+0

Tutaj wydaje się być link do pobrania - https: // github.com/jeresig/fireunit/tree/master –

4

Dla JavaScript, XmlHttpRequest, DOM Access, rendering i ruchu sieciowego dla IE6, 7 & 8 można skorzystać z bezpłatnego dynaTrace AJAX Edition

+0

proszę, instrukcja jak zainstalować to jako dodatek/rozszerzenie w przeglądarce. –

17

Chrome Developer Tools posiada wbudowany profiler.

+2

+1, Speed ​​Tracer jest dobry i ważne jest (o czym wspomniał OP), aby profilował twój kod w coś więcej niż tylko Firefox, aby zobaczyć, jak wpływa na niego przeglądarka. – JMTyler

Powiązane problemy