Что такое benchmark

«Что такое benchmark» — вопрос из категории Тестирование, который задают на 23% собеседований Golang Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Benchmark — это тест производительности кода, который измеряет время выполнения или потребление ресурсов. В Go бенчмарки пишутся с использованием пакета testing и функций, начинающихся с Benchmark.

Пример:

func BenchmarkSum(b *testing.B) {
    for i := 0; i < b.N; i++ {
        _ = 1 + 2 // Тестируемая операция
    }
}

Запуск:

go test -bench=.

Ключевые моменты:

  • b.N — автоматически подбираемое количество итераций для стабильного измерения
  • Результат показывает ns/op (наносекунды на операцию)
  • Можно тестировать память (-benchmem) и сравнивать разные реализации