PDA

View Full Version : benchmark su programmi java


terence_81
07-03-2007, 21:29
Salve,

sapete dirmi se c'è qualche programma di benchmark che testi velocità e occupazione di memoria di programmi scritti in java?

Oceans11
08-03-2007, 08:11
Salve,

sapete dirmi se c'è qualche programma di benchmark che testi velocità e occupazione di memoria di programmi scritti in java?

Interessa anche me.

thebol
08-03-2007, 08:46
con eclipse(non ricordo se con un plugin, o c'è già di default) è disponibile un profiler, che permette di analizare le chiamate ai metodi, occupazione degli oggetti, etc.

E' possibile far profilare le informazioni solo dei package che si vuole analizzare.

Se invece vuoi un benchmark che ti misuri le prestazioni della tua applicazione, sputando fuori dei numeri te lo devi fare tu. Una buona soluzione e Jperf o simili

Oceans11
08-03-2007, 09:53
grazie!

PGI-Bis
08-03-2007, 12:11
Informazioni di base sul comportamento dell'applicazione sono fornite anche da jconsole, incluso nel JDK di Sun (5+). Esistono poi un gran numero di opzioni per la JVM che consentono di ottenere le caratteristiche dell'applicazione (Xaprof e Xloggc per dirne due).

terence_81
08-03-2007, 19:17
Dopo aver lanciato la jconsole come vado avanti? Cosa immetto in jmx url? :(

PGI-Bis
08-03-2007, 19:34
prima lanci l'applicazione Java, poi lanci, separatamente, jconsole. Dovrebbe metterti nella lista del processi locali la tua applicazione. Se non c'è, chiudi jconsole e lo lanci nuovamente passandogli come unico argomento l'id del processo dell'applicazione java da controllare.
Per determinare l'id del processo in windows puoi usare task manager.

lovaz
09-03-2007, 09:26
?
Lanciando
jconsole 4980
(4980 e' il pid della jvm)

mi da:
4980 is not a managed VM.
?

La jvm deve essere "managed"? E come si fa?

PGI-Bis
09-03-2007, 11:42
Se usi Java 5 devi lanciare l'applicazione Java usando l'opzione:

-Dcom.sun.management.jmxremote

tipo

java -Dcom.sun.management.jmxremote ...tutto il resto

In Java 6 (e passa a Java6! :D) non è più necessario.

lovaz
09-03-2007, 11:57
Ok funziona. Pero', ci sono un sacco di thread!
... e passa a Java6! :D...
Mi sono servite un mese di suppliche per email per farmi installare java5
un po' di tempo fa, se chiedo la 6 mi sparano! :D