Go에서 시간 기간을 정확하게 측정
대부분의 애플리케이션은 기간을 측정하기 위해 표준 시간 패키지를 사용하지만 다음과 같은 제한 사항을 해결하는 것이 중요합니다. 정확한 결과를 얻으세요. time.Now()는 시간대 변경 및 NTP 서버와의 시계 동기화에 영향을 받을 수 있는 시스템 시간에 의존합니다.
이러한 문제를 극복하기 위해 Go는 외부 시간의 영향을 받지 않는 "단조 시계"를 제공합니다. 조정. Go 1.9부터 Go의 기간은 이 단조 시계를 자동으로 활용합니다.
이는 시간이 지정된 작업 중에 벽시계가 변경되더라도 다음 코드가 항상 약 20밀리초의 양의 경과 시간을 계산한다는 의미입니다.
start := time.Now() ... operation that takes 20 milliseconds ... t := time.Now() elapsed := t.Sub(start)
time.Since(시작), time.Until(마감일) 및 같은 다른 관용어 time.Now().Before(deadline)은 벽시계 재설정에도 복원력이 있습니다.
따라서 Go에서 실행 시간을 정확하게 측정하려면 간단히 시간 패키지의 time.Now() 및 time.Sub()를 사용하면 됩니다. 기능. 이제 이러한 기능을 통해 경과 시간 측정이 일관되고 시스템 시계 조정에 영향을 받지 않게 됩니다.
위 내용은 Go에서 실행 시간을 어떻게 정확하게 측정할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!