2009-09-09 17 views
6

Ho bisogno di profilare il mio codice JAVA SRC per qualche problema particolare al momento sto lavorando. Ho utilizzato la versione di prova di uno strumento chiamato JProfiler.codice java

Mi piacerebbe conoscere alcuni buoni strumenti open source della comunità, se disponibili; a parte questo, non vedo l'ora di imparare alcune tecniche standard ampiamente adottate (o che devono essere conosciute).

Per l'ottimizzazione del codice C utilizzo VALGRIND; per favore fatemi sapere dei buoni strumenti disponibili su Windows.

+2

Almeno una ricerca minima! la risposta di @afk potrebbe provenire direttamente dalla tua esperienza su google. –

risposta

7

Java 1.6 viene fornito con un profiler rudimentale: jvisualvm. È nella stessa directory di java e javac. .

+0

Lo strumento visualvm viene fornito solo con JDK (non con JRE) ed è stato aggiunto nell'aggiornamento 07 di Jave 6 - non era presente nella versione Java 6 originale. –

+0

Penso che VisualVM sia disponibile solo dall'aggiornamento 7 (o era 10). Ma a parte questo ha un ottimo rapporto facilità d'uso/utilità. Inoltre: è disponibile anche come applicazione standalone: ​​https://visualvm.dev.java.net/ –

3

Netbeans ha un profiler Java abbastanza decente costruito nel

+0

Il profilo NetBeans è in realtà correlato a jvisualvm (lo strumento suggerito da SingleShot). Non sono sicuro quale sia un derivato dell'altro, comunque. –

+0

Il componente di profilo di visualvm è stato originariamente sviluppato come parte di netbeans. –

1

Anche se non OpenSource, io personalmente piace molto YourKit - ha grande visualizzazione ed è veramente facile da usare.

1

Lo strumento "jvisualvm" nell'ultimo Java 6 JDK contiene un profiler (da Netbeans) e può essere collegato a un programma già in esecuzione, rendendo molto semplice l'esecuzione di indagini iniziali.

1

JRockit Mission Control, non è open source, ma è un profiler commerciale che sei libero di usare per lo sviluppo. Here puoi leggere le novità nell'ultima versione.

0

Presumibilmente Eclipse TPTP può collegare il suo profiler al processo Java ma non riuscirei mai a farlo funzionare correttamente. NetBeans Profiler è di gran lunga il più facile da collegare ai processi esterni.

Una volta ottenuti i dati di profilatura o il dump dell'heap, la mia scelta di veleno è Eclipse Memory Analyzer per eseguire l'analisi.

+0

Sì, il TPTP è orribilmente difficile da configurare e utilizzare. Anche incredibilmente lento. –

+0

Anche se ho avuto qualche problema con il setup, ho avuto successo usando "Eclipse TPTP" per profilare il codice Java e ho trovato la sua analisi abbastanza utile. – sateesh

0

mi piaceva Jrat molto per Java profiling: http://jrat.sourceforge.net/

libero open source di memoria C di perdite (e altro rivelatore) che funziona in Windows: Duma (http://duma.sourceforge.net/). Non è facile da usare come Valgrind (devi modificare i tuoi sorgenti e non ha quell'ottima opzione "non segnalare questo" - non l'ho ancora trovato comunque). Le opzioni di tipo-Valgrind per Windows sono tutte commerciali (la Purify di IBM sembra la migliore ma la licenza è piuttosto cara)

Faccio ottimizzazione C su Windows utilizzando gli strumenti gcc, gcov penso sia quello che viene utilizzato per la profilazione (potrebbe essere sbagliato, non hanno utilizzato in un po ')