> 백엔드 개발 > Golang > 밀리초 정밀도로 Go에서 함수 런타임을 어떻게 측정할 수 있나요?

밀리초 정밀도로 Go에서 함수 런타임을 어떻게 측정할 수 있나요?

Linda Hamilton
풀어 주다: 2024-12-01 05:50:10
원래의
319명이 탐색했습니다.

How Can I Measure Function Runtime in Go with Millisecond Precision?

Go에서 밀리초 정밀도로 함수 런타임 계산

Go에서는 함수의 런타임을 측정하고 해당 기간을 밀리초 단위로 반환하는 것이 간단해졌습니다. 지연된 기능의 힘 덕분입니다. 수행 방법은 다음과 같습니다.

Go 1.x 이상의 경우 다음 유틸리티 함수를 정의합니다.

func trace(s string) (string, time.Time) {
    log.Println("START:", s)
    return s, time.Now()
}

func un(s string, startTime time.Time) {
    endTime := time.Now()
    log.Println("  END:", s, "Elapsed Time in seconds:", endTime.Sub(startTime))
}
로그인 후 복사

그런 다음 함수 시간을 측정하려면 un() 함수를 연기하기만 하면 됩니다. 함수 시작 부분에 적절한 문자열을 추가합니다:

func someFunction() {
    defer un(trace("SOME_ARBITRARY_STRING_SO_YOU_CAN_KEEP_TRACK"))

    // Do your stuff ...
}
로그인 후 복사

이 함수를 실행하면 시작을 나타내는 간결한 로그 메시지를 받게 됩니다. 경과 시간(초)과 함께 기능이 종료됩니다.

이 방법은 로깅 오버헤드로 인해 매우 정확한 타이밍에 적합하지는 않지만 대부분의 경우 효과적이고 편리한 접근 방식이라는 점을 명심하세요. 사용 사례. Go의 연기 기술을 사용하면 함수 시간을 쉽게 측정하고 실행 시간을 추적할 수 있습니다.

위 내용은 밀리초 정밀도로 Go에서 함수 런타임을 어떻게 측정할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿