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
EmoticonEmoticon