Вы можете измерить время исполнения части кода, используя функцию time.Since:
start := time.Now()
// Код для измерения
duration := time.Since(start)
// Отформатированная строка,
// например, "2h3m0.5s" или "4.503μs"
fmt.Println(duration)
// Nanoseconds как int64
fmt.Println(duration.Nanoseconds())
Измерение вызова функции
Вы можете отслеживать время выполнения полного вызова функции с помощью этой однострочной записи, которая записывает результат в стандартный поток ошибок.
func foo() {
defer duration(track("foo"))
// Код для измерения
}
func track(msg string) (string, time.Time) {
return msg, time.Now()
}
func duration(msg string, start time.Time) {
log.Printf("%v: %v\n", msg, time.Since(start))
}
Тесты производительности (бенчмарки)
Пакет testing поддерживает тестирование производительности (benchmarking), которое можно использовать для проверки производительности вашего кода.
Читайте также:
- Как получить текущую метку времени (timestamp) в Golang
- Количество дней между двумя датами в Golang
- Форматирование времени и даты в Golang
Комментариев нет:
Отправить комментарий