Бенчмаркинг в Go — это встроенная функция тестирования, которая измеряет производительность и скорость выполнения функций. Это даёт тебе количественные данные о том, насколько эффективно работает твой код.
Бенчмаркинг использует команду go test с флагом -bench для запуска функций бенчмарков. Эти функции пишутся по соглашению об именовании BenchmarkXxx и принимают параметр *testing.B.
func BenchmarkFunctionName(b *testing.B) {
for i := 0; i < b.N; i++ {
// код для бенчмарка
}
}
Фреймворк тестирования автоматически определяет подходящее количество итераций (b.N), обеспечивая статистически значимые результаты.
Запускай бенчмарки так:
go test -bench=. — запускает все бенчмарки в текущем пакетеgo test -bench=BenchmarkName -benchmem — включает статистику по аллокациям памятиgo test -benchtime=5s — настраивает продолжительность каждого бенчмаркаБенчмарки показывают количество операций в секунду и объём аллокаций памяти на операцию, что позволяет тебе принимать обоснованные решения об оптимизации кода.
Функции бенчмарков в Go должны принимать параметр *testing.B и использовать соглашение об именовании BenchmarkXxx, чтобы быть распознанными инструментом go test.
Новый — ещё не проверен сообществом
Вы