Java 애플리케이션의 최적화 성능에 필수적입니다. 개발자가 Bottlenecks을 확인하고 효율성을 개선하는 데 도움이 됩니다. 이 문서는 실행 시간을 계산하는 일반적인 방법을 탐구하고 실용적인 예를 제공합니다.

System.nanoTime 사용

System.nanoTime()] 메서드는 고해상도 시간 측정을 제공합니다. 이 값은 nanoseconds에서 가장 정확한 가능한 시스템 타이머의 현재값을 반환합니다. 실행 시간을 측정하기 위해 코드 실행 전에 시작 시간을 기록하고 최종 시간 후. 차이는 탈출된 시간을 나타냅니다.

예:

long startTime = System.nanoTime();

//]를 측정하는 코드

long endTime = System.nanoTime();

장내 지속시간 = endTime - startTime;

System.currentTimeMillis 사용()

System.currentTimeMillis() 메서드는 밀리 초에 현재 시간을 제공합니다. ]보다는 정확하지만, 더 긴 기간 측정에 적합 합니다. 이전 방법과 마찬가지로, 코드 블록 주변의 시작과 끝 시간을 기록합니다.

예:

긴 startTime = System.currentTimeMillis();

//]를 측정하는 코드

long endTime = System.currentTimeMillis();]

장내 지속시간 = endTime - startTime;

Java의 인스턴트 클래스 사용

Instant class from java.time] 패키지는 시간 측정에 대한 현대적인 접근 방식을 제공합니다. 나노 초정밀을 제공하며 측정 기간에 적합합니다.

예:

즉시 시작 = Instant.now();

//]를 측정하는 코드

내가 끝 = Instant.now();

현장 기간 = 소요시간.between(시작, 끝);]

Real-world 예제

큰 배열을 정렬하는 데 걸리는 얼마나 오래 측정 할 수 있습니다. ]System.nanoTime()를 사용하여 다음을 구현할 수 있습니다.

int[] 배열 = new int[1 000 000];]

// 배열을 팝업

long startTime = System.nanoTime();

Arrays.sort(array);

long endTime = System.nanoTime();

System.out.println("Sorting은 "+ (endTime - startTime) + " nanoseconds"를 가져 왔습니다.);