2009-09-09 18 views
6

Potrzebuję profil mojego kodu JAVA SRC dla jakiegoś szczególnego problemu, nad którym obecnie pracuję. Używam wersji próbnej narzędzia o nazwie JProfiler.profil java kod

Chciałbym się nauczyć kilku dobrych narzędzi open source, jeśli są dostępne; poza tym oczekuję również na zapoznanie się z niektórymi standardowymi technikami, które są powszechnie przyjęte (lub muszą wiedzieć).

Do optymalizacji kodu C używam VALGRIND; proszę również poinformować mnie o dobrych narzędziach dostępnych w systemie Windows.

+2

Wykonaj przynajmniej minimalne badania! Odpowiedź od @afk mogła pochodzić wprost z Twojego doświadczenia w Google. –

Odpowiedz

7

Java 1.6 jest wyposażony w szczątkowej profilera: jvisualvm. Znajduje się w tym samym katalogu co java i javac. .

+0

Narzędzie visualvm pochodzi tylko z JDK (nie JRE) i zostało dodane w aktualizacji Jave 6 07 - nie było obecne w oryginalnym wydaniu Java 6. –

+0

Myślę, że VisualVM jest dostępny tylko od aktualizacji 7 (lub było 10). Ale poza tym ma bardzo dobry współczynnik łatwości użycia/użyteczności. Ponadto: jest dostępny również jako samodzielna aplikacja: https://visualvm.dev.java.net/ –

3

Netbeans ma całkiem przyzwoity profilera Java zbudowany w

+0

Profil NetBeans jest faktycznie powiązany z jvisualvm (narzędzie sugerowane przez SingleShot). Nie jestem jednak pewien, który z nich jest pochodną drugiego. –

+0

Element profilujący visualvm został pierwotnie opracowany jako część netbeans. –

1

Chociaż nie OpenSource, ja osobiście bardzo lubię YourKit - ma wielką wizualizację i jest bardzo łatwy w użyciu.

1

Narzędzie "jvisualvm" w najnowszym JDK Java 6 zawiera profiler (z Netbeans) i może dołączyć do już działającego programu, dzięki czemu bardzo proste jest wykonanie wstępnych badań.

1

JRockit Mission Control, to nie jest open source, ale jest komercyjnym profilerem, z którego możesz korzystać do programowania. Here możesz przeczytać, co nowego w najnowszej wersji.

0

Podobno Eclipse TPTP może dołączyć profilera do procesu Java, ale nigdy nie uda mi się go ładnie ładować. Profil NetBeans jest zdecydowanie najłatwiejszy do przyłączenia do procesów zewnętrznych.

Po utworzeniu danych profilowania lub zrzutu sterty mój wybór trucizny to Eclipse Memory Analyzer, aby wykonać analizę.

+0

Tak, TPTP jest strasznie trudny w konfiguracji i obsłudze. Również niesamowicie powolny. –

+0

Chociaż miałem pewne problemy z konfiguracją, odniosłem sukces, używając "Eclipse TPTP" do profilowania kodu Java i uznałem, że jego analiza jest całkiem przydatna. – sateesh

0

lubiłem Jrat wiele do profilowania Java: http://jrat.sourceforge.net/

bezpłatny open source wyciek pamięci C (i inne czujki), który działa w systemie Windows: Dumę (http://duma.sourceforge.net/). Nie jest to tak proste w użyciu jak Valgrind (musisz edytować źródła i nie ma takiej fajnej opcji "nie zgłaszaj tego" - i tak go jeszcze nie znalazłem). Opcje Valgrind dla Windows są komercyjne (IBM Purify wydaje się najlepszy, ale licencja jest dość droga).

Optymalizuję C na windows przy użyciu narzędzi gcc, gcov Myślę, że to, co jest używane do profilowania (może być źle, nie używałem tego przez jakiś czas)