currentTimeMillis와 nanoTime에 대해 읽은 모든 것은 정확도에만 초점을 맞추는 것처럼 보입니다. 밀리 초 단위로만 경과 시간을 찾고 있다면 최상의 성능을 원한다면이 중 하나를 사용해야합니까?Java에서 경과 시간을 측정하는 가장 빠른 방법
마지막 답변을 ns에서 ms로 변환 할 필요가 없으므로 currentTimeMillis와 같은 것처럼 보입니다.하지만 이는 내 응용 프로그램의 관점에서 비롯된 것이며, 후드에서 진행되는 작업이 잘못된 선택이 될 수 있습니다. 내가 왜 묻는거야.
저는 개인적으로 #currentTimeMillis를 사용합니다. 나노초 정밀도는 거의 필요하지 않으며, 이미 저울에서 작업하지 않는 한 두 가지 모두에서 발생할 수있는 부정확성은 중요하지 않습니다 (예 : 10 초 동안 확인하면 3 부정확성이 훨씬 적을지라도 -5ms의 부정확성으로 인해 죽지 않습니다.) 비록 iirC#currentTimeMillis 비교가 음수가 될 수 있지만, 그 규모 (10 밀리 초 간격으로 타이밍을 맞춘다)로 작업하지 않는 한, 다시는 매우 희박합니다. – Rogue
nanoTime은 currentTimeMillis와 똑같은 정확도를 보입니다. 정밀도의 조건. * 더 빨리 * 당신이 내 이해를 위해 좀 더 명확해야합니다. –
NTP, 사용자, 윤초 및 기타 소스는'currentTimeMillis'의 값을 변경하여 직접 측정을 완전히 잘못하는 경우가 있습니다. 너와 함께 살 수 있다면 그걸로 가야 해. 그렇지 않으면 엄격하게 단조로운 카운터 인 nanoTime을 사용하고 심각한 애플리케이션에 nanoTime을 사용해야하는 이유입니다. – zapl