프로그래밍/Java
[Java] 성능 테스트 코드(시간, 메모리)
프리랜서_코더
2011. 1. 21. 14:56
간단 성능 테스트 코드
long time = System.currentTimeMillis();
reportPerformanceFor("starting at", time);
className.Method() //테스트하려는 함수 호출
reportPerformanceFor("graph allocation", time);
reportPerformanceFor("graph allocation", time);
System.out.println("\n" + "Paused: graph is still in memory (to check mem consumption).");
System.out.print("press enter to free memory and finish...");
System.out.print("press enter to free memory and finish...");
try {
System.in.read();
} catch (IOException e) {
e.printStackTrace();
}
System.in.read();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("done.");
private static void reportPerformanceFor(String msg, long refTime)
{
double time = (System.currentTimeMillis() - refTime) / 1000.0;
double mem = usedMemory()
/ (1024.0 * 1024.0);
mem = Math.round(mem * 100) / 100.0;
System.out.println(msg + " (" + time + " sec, " + mem + "MB)");
}
private static void reportPerformanceFor(String msg, long refTime)
{
double time = (System.currentTimeMillis() - refTime) / 1000.0;
double mem = usedMemory()
/ (1024.0 * 1024.0);
mem = Math.round(mem * 100) / 100.0;
System.out.println(msg + " (" + time + " sec, " + mem + "MB)");
}
private static long usedMemory()
{
Runtime rt = Runtime.getRuntime();
{
Runtime rt = Runtime.getRuntime();
return rt.totalMemory() - rt.freeMemory();
}
}