Jaki jest najlepszy sposób profilowania wykonywania javascript? [Zamknięte]


94

Czy istnieje dobry program do profilowania dla javascript? Wiem, że firebug ma pewne wsparcie dla kodu profilującego. Ale chcę określić statystyki w dłuższej skali. Wyobraź sobie, że tworzysz dużo kodu javascript i chcesz określić, jakie faktycznie są wąskie gardła w kodzie. Na początku chcę zobaczyć statystyki profilu każdej funkcji javascript i czasu wykonania. Następnym krokiem byłoby włączenie funkcji DOM. To w połączeniu z działaniami, które spowalniają rzeczy, takie jak operacje na drzewie renderowania, byłoby idealne. Myślę, że dałoby to dobre wrażenie, gdyby wydajność została zabita w moim kodzie, podczas przygotowywania DOM lub aktualizacji drzewa renderowania / wizualizacji.

Czy jest coś bliskiego temu, czego chcę? Albo jakie byłoby najlepsze narzędzie do osiągnięcia większości tego, co opisałem? Czy byłaby to samodzielnie skompilowana przeglądarka z silnikiem javascript wzbogaconym o funkcjonalność profilu?


Jeśli NODE_ENV=production node --prof app.jsnie, odwiedź stackify.com/node-js-profilers lub softwarerecs.stackexchange.com, aby znaleźć alternatywy.
Cees Timmerman

Odpowiedzi:


63

Firebug

Firebug zapewnia bardzo szczegółowy raport dotyczący profilowania. Powie ci, ile czasu zajmuje każde wywołanie metody w gigantycznej (szczegółowej) tabeli.

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

Musisz zadzwonić, console.profileEnd ()aby zakończyć blokadę profilu. Zobacz konsolowe API tutaj: http://getfirebug.com/wiki/index.php/Console_API

Kos

Blackbird ( oficjalna strona ) ma również prostszy profiler (można go pobrać tutaj )


Napisałem, że znam Firefoksa. Chcę mieć więcej statystyk z przeglądarki, które mają wpływ na wykonanie javascript.
Norbert Hartl

1
Podobnie jak w Firebug i możesz profilować bezpośrednio z konsoli, jeśli nie chcesz go kodować.
Chris B

1
Firebug to najlepsze narzędzie, jakie otrzymasz.
Sasha Chedygov

1
To samo działa w Safari Web Inspector
olliej

9
Firebug jest dobry iw ogóle, ale nie mogę uwierzyć, że jest tu tak wielu ludzi skandujących "Firebug, Firebug!" zaraz po tym, jak OP powiedział wyraźnie , że chce profilować swój kod z wielu przeglądarek.
JMTyler

20

Narzędzia programistyczne Chrome mają wbudowany profiler.


2
+1, Speed ​​Tracer jest dobry i ważne jest (jak wspomniano w OP), aby profilować swój kod w nie tylko Firefoksie, aby zobaczyć, jak wpływa na to pojedyncza przeglądarka.
JMTyler


4

Firebug + Firefox to pozycja obowiązkowa. Pasek narzędzi programisty IE 8 ma również wbudowany profiler (IE 8 jest dostarczany z paskiem narzędzi programisty).


4

Inspektor sieci Safari 4 zawiera również profiler (chociaż wersja z nightlies jest ulepszona w stosunku do rekurencyjnych wywołań funkcji). Inspektor sieci obsługuje również interfejsy API profilera Firebug.


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.