Язык Go отлично подходит для реализации сложной бизнес-логики, но конструкции языка скрывают под собой неочевидные накладные расходы. В докладе я продемонстрирую конкретные общепринятые паттерны Go-кода из нашего Open Source-продукта Deckhouse Prom++, которые крайне неэффективно реализуются Go-компилятором, что в конечном итоге приводит к потере производительности высоконагруженных проектов. Каждый случай будет разобран с точки зрения накладных расходов, будут приведены цифры бенчмаркинга производительности и предоставлены альтернативы или советы по повышению эффективности кода.
Для некоторых случаев будет рассмотрен аналог реализации из языка C++ с его идиоматическими подходами и возможностями к микрооптимизациям.