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?
źródło
NODE_ENV=production node --prof app.js
nie, odwiedź stackify.com/node-js-profilers lub softwarerecs.stackexchange.com, aby znaleźć alternatywy.Odpowiedzi:
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_APIKos
Blackbird (
oficjalna strona) ma również prostszy profiler (można go pobrać tutaj )źródło
Narzędzia programistyczne Chrome mają wbudowany profiler.
źródło
Chociaż wspomniano o Firebug, jedną dodatkową rzeczą, na którą chciałbyś zwrócić uwagę w Firebug, jest wtyczka do Firebuga o nazwie FireUnit ; John Resig mówi o tym w tym wpisie na blogu:
Mam nadzieję, że to pomoże.
źródło
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).
źródło
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.
źródło
Dla JavaScript, XmlHttpRequest, DOM Access, Rendering Times i ruchu sieciowego dla IE6, 7 i 8 możesz skorzystać z DARMOWEJ wersji dynaTrace AJAX
źródło