Автор рассказывает про самый быстрый парсер протобафа - hyperpb.
Традиционно серверные части Protobuf генерировали парсеры, создавая исходный код, специализированный для каждого типа. На первый взгляд, это обеспечивало наилучшую производительность, поскольку все было «подстроено» под конкретный тип сообщения. К сожалению, теперь мы знаем, что у этого подхода есть ряд недостатков.
Самый главный недостаток - каждый тип данных увеличивает нагрузку на кэш инструкций. Это означает, что если ваша программа обрабатывает множество различных типов данных, то при каждом обращении к парсеру кэш инструкций будет очищаться. Что ещё хуже, если при разборе используется много разных типов данных, то сам парсер столкнётся с проблемами пропускной способности при декодировании инструкций.
Читаем, как автор обошел эти проблемы
25.07.2025
Похожее
08.04.2026
Собеседование Go
Готовитесь к собесу на Go разработчика? Вам пригодится подборка задач по гошке. ...
07.04.2026
Снова про сборщик мусора
В предыдущей статье автор исследовал планировщик Go - как горутины мультиплексир...
06.04.2026
Визуализация памяти
В этой серии статей автор объясняет концепции управления памятью простыми словам...
06.04.2026
Asynq
Каждому Go-бэкенду рано или поздно требуются фоновые задачи. Вы начинаете с гору...