Java 프로그래밍을 하면서 내가 작성한 알고리즘이나 로직 등의 실행 속도를 측정하고 싶은 경우가 있다.
이때, System.currentTimeMillis()를 이용하여 속도를 측정할 수가 있다.
System.currentTimeMillis()
Java에서 기본적으로 제공하는 메소드로서, 현재 시간을 ms(밀리세컨드, 1/1000 초) 단위로 출력할 수 있다.
System.currentTimeMillis() 메소드는 1970년 1월 1일 UTC 시간 기준으로, 현재까지의 시간 차이를 ms(밀리세컨드, 1/1000 초) 단위로 출력한다.
따라서 시작 부분과 끝부분에 각각 해당 메소드를 써서 시간을 받아오고, 두 시간 간의 차이를 계산하면 ms 단위의 시간차를 구할 수 있다.
예제
// 시작 시간
long startTime = System.currentTimeMillis();
// === 측정할 코드 START ===
for(int i=0; i<1000; i++) {
System.out.println(i);
for(int j=0; j<1000; j++) {
System.out.println(j);
}
}
// === 측정할 코드 END ===
// 종료 시간
long endTime = System.currentTimeMillis();
// 실행 시간(ms)
long runTime = endTime - startTime;
System.out.println("실행 시간(ms): " + runTime);
// 실행 시간(sec) -> 초 단위로 변환
System.out.println("실행 시간(sec): " + runTime/1000);
[참고]
반응형
'IT > JAVA' 카테고리의 다른 글
[JAVA] 10진수 ↔ 2, 8, 16진수 변환 방법 (0) | 2024.01.17 |
---|