자바 코드 수행 시간 계산

자바에서 함수나, 각 코드의 수행시간이 얼마나 소요되는지 확인하는 코드.

long start = System.currentTimeMillis();

/*

your code

*/

long estimated = System.currentTimeMillis() - start;
System.out.println("running time: " + estimated);

System.currentTimeMillis() 함수는 1970년 1월 1일 기준으로의 milli second를 계산해 주는 것이며, 값의 차이를 통해 수행 시간을 판단할 수 있다.

보다 정확한 시간을 원한다면, nanosecond를 확인할 수도 있다.

long start = System.nanoTime();

/*

your code

*/

long estimated = System.nanoTime() - start;
System.out.println("running time: " + estimated);

System.nanoTime() 함수는 nano second 단위로 시간을 반환해 준다. 하지만, 이 시간은 위 함수처럼 1970년 기준의 시간이 아닌, 임의의 시간 기준 따라서, 함수 실행의 시간 측정엔 쓰이지만, 실제 시간을 계산하는데 쓰일 수 없다.
추가적으로 numerical overflow 때문에 293년 (2^63 nano second) 이상의 값은 계산할 수 없다.

참고자료: java docs api
Previous
Next Post »