Автор рассказывает про самый быстрый парсер протобафа - hyperpb.
Традиционно серверные части Protobuf генерировали парсеры, создавая исходный код, специализированный для каждого типа. На первый взгляд, это обеспечивало наилучшую производительность, поскольку все было «подстроено» под конкретный тип сообщения. К сожалению, теперь мы знаем, что у этого подхода есть ряд недостатков.
Самый главный недостаток - каждый тип данных увеличивает нагрузку на кэш инструкций. Это означает, что если ваша программа обрабатывает множество различных типов данных, то при каждом обращении к парсеру кэш инструкций будет очищаться. Что ещё хуже, если при разборе используется много разных типов данных, то сам парсер столкнётся с проблемами пропускной способности при декодировании инструкций.
Читаем, как автор обошел эти проблемы
25.07.2025
Похожее
28.09.2026
C на Go
Интересный пропозал - добавить возможность сборки Go-пакетов, использующих cgo д...
25.09.2026
Бенчим джейсон
Автор на реальном API с нагрузкой 50M запросов/сутки)сравнивает производительнос...
24.09.2026
Rune
Команда Unstable Build заопенсорсила свою нативную IDE Rune, написанную на Go. ...
23.09.2026
Специализированные аллокаторы
В Go 1.27 появилась оптимизация выделения памяти для объектов размером до 80 бай...