Benchmark в Go — это функция вида func BenchmarkXxx(b *testing.B), которая запускает код b.N раз и замеряет среднее время выполнения. Запускаешь через go test -bench=. -benchmem. Go сам подбирает b.N, чтобы результат был статистически значимым. В теле пишешь цикл for i := 0; i < b.N; i++ и внутри — то, что хочешь замерить. Флаг -benchmem покажет аллокации. Это лучший способ объективно сравнить две реализации одной функции, вместо гаданий "что быстрее".
Что такое benchmark и как его писать?
Middle
1.1k просмотровAFK Offer AI
Как работает go vet?