Инженеры Datadog рассказали, как всего за полгода им удалось "похудеть". Они уменьшили размер Go-бинарников своего агента мониторинга на 77% и вернулись к показателям пятилетней давности, при этом ничего не сломав и не вырезав ни одной функции.
Годами они добавляли новые фичи и интеграции, артефакты росли и уже начинали создавать проблемы на серверных платформах и устройствах с ограниченными ресурсами.
В итоге они провели ревизию и повыкидывали лишние зависимости (например, из одного бинарника вынесли 570 пакетов Kubernetes и сэкономили 36 МиБ), а еще заново включили мощные оптимизации линковщика Go. Самый крутой результат дало снятие блокировок с "удаления мертвого кода методов": убрали неиспользуемый импорт пакета plugin (это дало 245 МиБ!) и пропатчили зависимости, которые юзали reflect.
В итоге с 1,22 ГиБ до 688 МиБ.
03.03.2026
Похожее
01.06.2026
Руководство по миграции с Go на Rust
Подробное руководство по миграции с Go на Rust для бэкенд-сервисов. Автор об...
29.05.2026
Что нового в Go
Go - "скучный" в самом хорошем смысле этого слова: стабильный, надежный и создан...
28.05.2026
Дженерик методы
Ура! В Go теперь можно будет объявлять параметризованные методы для типов, ко...
28.05.2026
Рейт лимитинг
Автор разбирает три основных алгоритма рейт лимитинга в Go: Token Bucket в библи...