[Java] 자바 코드 실행 시간 구하는 방법
- 코딩/Java
- 2022. 12. 1.
[Java] 자바 코드 실행 시간 구하는 방법 알아보기
1. System.currentTimeMillis()와 System.nanoTime() 메서드를 사용하는 방법
System.currentTimeMillis() 메서드는 현재 시간을 밀리초 단위로 반환
long startTime = System.currentTimeMillis();
// 실행 시간을 측정하고자 하는 코드
long endTime = System.currentTimeMillis();
long elapsedTime = endTime - startTime;
System.out.println("Elapsed time: " + elapsedTime + "ms");
System.nanoTime() 메서드는 현재 시간을 나노초 단위로 반환
long startTime = System.nanoTime();
// 실행 시간을 측정하고자 하는 코드
long endTime = System.nanoTime();
long elapsedTime = endTime - startTime;
System.out.println("Elapsed time: " + elapsedTime + "ns");
2. Instant 클래스를 사용하는 방법
Java 8에서는 Instant 클래스를 사용하여 코드 실행 시간을 측정할 수 있습니다.
- Instant 클래스는 Date 클래스와 유사하게 날짜와 시간 정보를 다루는 클래스입니다.
- Instant 클래스는 시간의 개념에 초 단위까지 포함되어 있기 때문에, System.nanoTime() 메서드를 사용하는 것보다 더 정확한 코드 실행 시간을 측정할 수 있습니다.
Instant start = Instant.now();
// 실행 시간을 측정하고자 하는 코드
Instant end = Instant.now();
long elapsedTime = Duration.between(start, end).toMillis();
System.out.println("Elapsed time: " + elapsedTime + "ms");
3. StopWatch 클래스를 사용하는 방법
Apache Commons 라이브러리에서 제공하는 시간 측정 도구입니다. StopWatch 클래스를 사용하면 코드의 실행 시간을 간단하게 측정
StopWatch stopWatch = new StopWatch();
stopWatch.start();
// 실행 시간을 측정하고자 하는 코드
stopWatch.stop();
long elapsedTime = stopWatch.getTime();
System.out.println("Elapsed time: " + elapsedTime + "ms");
'코딩 > Java' 카테고리의 다른 글
[JAVA] Arrays.asList vs List.of()의 차이 (0) | 2023.01.16 |
---|---|
[Java] for문 vs forEach문 성능 (0) | 2022.12.02 |
[JAVA] e.toString(), e.getMessage(), e.printStackTrace() 예외처리 (0) | 2022.11.19 |
[JAVA] List의 null 체크 (with isEmpty()) (0) | 2022.05.14 |
[JAVA] 빌더 패턴(Builder Pattern) 사용해야 하는 이유 (0) | 2022.05.11 |