Автор рассказывает про самый быстрый парсер протобафа - hyperpb.
Традиционно серверные части Protobuf генерировали парсеры, создавая исходный код, специализированный для каждого типа. На первый взгляд, это обеспечивало наилучшую производительность, поскольку все было «подстроено» под конкретный тип сообщения. К сожалению, теперь мы знаем, что у этого подхода есть ряд недостатков.
Самый главный недостаток - каждый тип данных увеличивает нагрузку на кэш инструкций. Это означает, что если ваша программа обрабатывает множество различных типов данных, то при каждом обращении к парсеру кэш инструкций будет очищаться. Что ещё хуже, если при разборе используется много разных типов данных, то сам парсер столкнётся с проблемами пропускной способности при декодировании инструкций.
Читаем, как автор обошел эти проблемы
25.07.2025
Похожее
09.07.2026
Джину уже 12 лет
Ману Мартинес-Алмейда рассказывает историю как он создавал Gin - одного из самых...
08.07.2026
zero-copy-оптимизации
Разбор zero-copy-оптимизаций в Go. Когда вы передаете `*os.File` напрямую `в...
07.07.2026
WAL-RUS
ClickHouse Cloud переписали утилиту для бэкапов и WAL-архивирования Postgres с G...
06.07.2026
Профилирование
Статья разбирает пять встроенных профилировщиков в Go (CPU, heap, block, mutex и...