За счет чего Protobuf быстрее JSON

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

Ответ

Protobuf быстрее JSON благодаря бинарному формату, который компактнее и быстрее парсится. JSON — текстовый, требует парсинга строк, а Protobuf использует заранее сгенерированный код для сериализации/десериализации.

Пример:

// Protobuf
message Person {
  string name = 1;
  int32 age = 2;
}

// JSON
{
  "name": "Alice",
  "age": 30
}

Плюсы Protobuf:

  • Меньший размер данных (нет лишних символов, типа {, ")
  • Быстрая сериализация (нет рефлексии, используется кодогенерация)
  • Поддержка типов (например, int32 вместо строки "30")
  • Схема (.proto) позволяет валидировать данные на этапе компиляции.