Вступить в клуб →
сложнаявопросТестирование: testing, testify, httptest, testcontainers

Бенчмарк показывает, что новая сериализация в 20 раз медленнее, хотя это не так

func BenchmarkEncodeOrder(b *testing.B) {
    for i := 0; i < b.N; i++ {
        order := loadOrderFixture("testdata/big_order.json") // читает и разбирает файл
        EncodeOrder(order)
    }
}

По бенчмарку новая сериализация заметно хуже старой, но профилирование в проде этого не подтверждает. Что искажает результат?

  • Подготовка данных внутри цикла измеряется вместе с кодом
  • b.N слишком мало для точного замера
  • Бенчмарки нельзя запускать на данных из файлов
  • Нужно запускать бенчмарк с -race

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела