Golang 코드 실행 시간 측정
1960 단어 Golang
Golang 코드 실행 시간 측정
실제 개발에서는 코드 세션이나 업무 함수를 포함한 코드 성능을 평가해야 한다.본고는 Golang 코드의 실행 시간을 어떻게 측정하는지 간결하면서도 실용적이다.
1. 코드 세션 실행 시간
time.Now()
및 time.Since()
를 사용하여 코드 세션의 실행 시간을 측정합니다.package main
import (
"fmt"
"time"
)
func main() {
fmt.Println(" Golang ")
fmt.Println("")
start := time.Now()
//measuring the durration of the for loop
for index := 0; index < 10; index++ {
time.Sleep(500 * time.Millisecond)
}
elapsed := time.Since(start)
fmt.Printf("The `for` loop took %s", elapsed)
}
상기 예시에서 10회 반복하고 매번 500밀리초 동안 수면을 취하며 복잡한 임무를 시뮬레이션한다.
출력은 다음과 같습니다. Golang
The `for` loop took 5.000286s
500밀리초씩 10회 순환하며 총 시간은 약 5초가 넘는다.
2. 함수 실행 시간
함수 실행 시간을 측정하기 위해서, 우리는 전문 함수를 만들어서 실행 시간을 측정하고, 업무 코드와 분리하여 복용성을 높인다.실행 작업이 시작될 때 defer
를 사용하고 함수가 실행되기 전에 실행 시간 함수를 호출합니다.package main
import (
"fmt"
"time"
)
func timeMeasurement(start time.Time) {
elapsed := time.Since(start)
fmt.Printf("Execution time: %s", elapsed)
}
func workerFunction() {
fmt.Println("Running 'workerFunction' function")
for index := 0; index < 10; index++ {
time.Sleep(500 * time.Millisecond)
}
}
func main() {
fmt.Println("Function time measurement Golang Example")
fmt.Println("")
defer timeMeasurement(time.Now())
workerFunction()
}
물론 defer timeMeasurement(time.Now())
도 workerFunction
함수체의 시작 위치에 놓을 수 있으며, 업무 코드에 침입하지 않기 위해 우리는 실행되기 전의 위치에 놓을 수 있다.출력은 다음과 같습니다. Golang
Running 'workerFunction' function
Execution time: 5.0032861s
3. 요약
본고는 Golang이 실행 시간을 평가하는 방법을 소개했는데 코드 세션과 함수의 실행 시간을 포함한다.주로 defer 키워드를 사용하여 지연 메커니즘을 실현하고 실행 완료의 전진을 확보하며 실행 시간을 계산합니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
golang의 시간대와 신기한 시간.Parse
상기 코드의 테스트 결과에서 몇 가지를 얻을 수 있다.
time.Now에서 얻은 현재 시간의 시간대는 컴퓨터의 현재 시간대와 같다.
time.Parse는 시간 문자열을 Time으로 변환합니다.
Time 변수가 어떤 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.
package main
import (
"fmt"
"time"
)
func main() {
fmt.Println(" Golang ")
fmt.Println("")
start := time.Now()
//measuring the durration of the for loop
for index := 0; index < 10; index++ {
time.Sleep(500 * time.Millisecond)
}
elapsed := time.Since(start)
fmt.Printf("The `for` loop took %s", elapsed)
}
Golang
The `for` loop took 5.000286s
package main
import (
"fmt"
"time"
)
func timeMeasurement(start time.Time) {
elapsed := time.Since(start)
fmt.Printf("Execution time: %s", elapsed)
}
func workerFunction() {
fmt.Println("Running 'workerFunction' function")
for index := 0; index < 10; index++ {
time.Sleep(500 * time.Millisecond)
}
}
func main() {
fmt.Println("Function time measurement Golang Example")
fmt.Println("")
defer timeMeasurement(time.Now())
workerFunction()
}
Golang
Running 'workerFunction' function
Execution time: 5.0032861s
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
golang의 시간대와 신기한 시간.Parse상기 코드의 테스트 결과에서 몇 가지를 얻을 수 있다. time.Now에서 얻은 현재 시간의 시간대는 컴퓨터의 현재 시간대와 같다. time.Parse는 시간 문자열을 Time으로 변환합니다. Time 변수가 어떤 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.