Java에서 함수의 실행 시간을 가져와야합니다. 나는 내가 사용할 수있는 두 가지 방법을 알고있다. currentTimeMillis();
과 nanoTime();
그러나 나는 벽시계가 필요하다면 currentTimeMillis();
이 더 정확하다는 것을 배웠다. 처리 시간이 아님).currentTimeMillis() 메서드를 사용하여 작은 분수로 실행 시간을 얻는 방법
그러나 currentTimeMillis();
은 작은 분수를 부여 할 수 없습니다. 예를 들어, 실행 시간이 1 밀리 초 미만이면 0을 반환합니다. 1보다 작 으면 0.05 밀리 초가 필요합니다. 방법은이 시간을 반환하더라도 0
long startTime=System.currentTimeMillis();
for(int x=0; x<10;x++)
{
System.out.println("-");
}
long execTime=System.currentTimeMillis() - startTime;
을 반환 할 때이 간단한 예입니다, 내가 좀 더 정확한 수, 말, 30.00012이 필요, 30 또는 40로 반환하지만. 또한 메서드 반환 유형은 long
이지만 부동 소수점 숫자를 원할 때 double
으로 변경했습니다.이 문제가 있습니까? currentTimeMillis()
과 : 당신이 내 자바 메소드 실행 벽 시계 (예를 들어하지 8.0하지만 8.287335) 작은 부분 번호 시간
프로필러 사용에 대해 생각해 보셨습니까? –
"하지만 부동 소수점 숫자를 원하면 'double'로 변경했습니다.이 문제가 있습니까?" 돌려 주어지는 밀리 세컨드 또는 나노초의 수가 「2^53」보다 큰 경우는 반올림 효과를 얻을 수 있습니다 만, 타이머가 정수 치를 돌려주기 때문에 대부분은 단지 무의미합니다. –