Производительность Go (Golang) приложений — Артем Соколов — обложка книги
300 страниц
Go (Golang)
PDF
4.5

Производительность Go (Golang) приложений

Оптимизация кода, профилирование и работа с памятью в Go

Автор:

Год:

Краткое содержимое:

Книга «Производительность Go (Golang) приложений» — это практическое руководство для разработчиков, которые хотят писать быстрый, эффективный и масштабируемый код на Go. В отличие от общих учебников, эта книга фокусируется исключительно на производительности: от микрооптимизаций до архитектурных решений.

Для кого эта книга:

  • Go-разработчиков с опытом от 1 года, которые столкнулись с проблемами производительности в продакшене.
  • Инженеров, переходящих на Go с других языков и желающих понять особенности его рантайма.
  • DevOps и SRE-специалистов, отвечающих за оптимизацию сервисов.
  • Всех, кто хочет снизить latency и потребление ресурсов в своих Go-приложениях.

Что вы узнаете:

  • Как использовать встроенные инструменты профилирования (pprof, trace) для поиска узких мест.
  • Оптимизацию работы с памятью: сборка мусора, аллокации, пулы объектов и zero-copy.
  • Написание эффективных конкурентных программ: горутины, каналы, sync.Pool и паттерны ограничения параллелизма.
  • Снижение времени ответа (latency): бенчмаркинг, алгоритмические оптимизации, работа с сетевыми вызовами.
  • Профилирование CPU и памяти, анализ блокировок и утечек горутин.
  • Оптимизацию ввода-вывода: буферизация, компрессия, работа с файлами и сокетами.
  • Антипаттерны производительности и способы их исправления.
  • Интеграцию профилирования в CI/CD для автоматического контроля регрессий.

Книга построена на реальных примерах из опыта автора — от микросервисов до высоконагруженных API. Каждая глава содержит код, который можно сразу применить в проекте. Вы научитесь не просто «ускорять» код, а принимать осознанные решения: когда оптимизация оправдана, а когда — преждевременна.

Особое внимание уделено современным подходам: использование Go 1.21+ (новые пакеты slices, maps, sync.Map), generics для утилит производительности, а также работа с CGo и ассемблером в критических местах.

После прочтения вы сможете:

  • Уменьшить потребление памяти на 30–50% без потери читаемости кода.
  • Снизить время ответа API в 2–3 раза за счет правильной работы с конкурентностью.
  • Находить и исправлять утечки горутин и памяти за минуты.
  • Строить системы, выдерживающие тысячи запросов в секунду на минимальных ресурсах.

Это не справочник по языку, а концентрированный опыт по доведению Go-приложений до максимальной эффективности. Подходит для тех, кто хочет перестать «гадать» на кофейной гуще и начать измерять, профилировать и улучшать.

Рекомендаций