Sono fatto un programma che usa un algoritmo di ricerca A * per risolvere 8 puzzle di gioco. Ero interessato a vedere quanta memoria viene utilizzata dal mio programma dall'inizio alla fine.Quanta memoria è il mio programma usando Java
Finora ho fatto
All'inizio del programma
static double totalMem = Runtime.getRuntime().totalMemory()/(1024*1024);
static double memoryMax = Runtime.getRuntime().maxMemory()/(1024*1024);
e alla fine del programma
timeTaken-=System.currentTimeMillis();
System.out.println("\n\n-------Total Time Taken = "+Math.abs(timeTaken)+
" millisec ------\n ");
System.out.println("-------Maximum Memory = "+memoryMax+" MB------\n ");
System.out.println("-------Total Memory = "+totalMem
+" MB------\n ");
currMem = Runtime.getRuntime().freeMemory()/(1024*1024);
System.out.println("-------Free Memory = "+currMem+" MB------\n ");
double memUsed = (Runtime.getRuntime().totalMemory())/(1024*1024)-currMem;
System.out.println("-------Total Used = "+memUsed
+" MB------\n ");
Questo non sembra essere di destra. Quando provo con diversi set di dati. Qualsiasi suggerimento
"Questo non sembra essere giusto." Perché? – Stefan
Qual è il problema con il codice sopra? –
http://www.vogella.com/tutorials/JavaPerformance/article.html –