Performance of Go (Golang) Applications
300 pages
English
PDF
4.5

Performance of Go (Golang) Applications

Performance of Go (Golang) Applications

Author:

Year:

Summary:

The book "Performance of Go (Golang) Applications" is a practical guide for developers who want to write fast, efficient, and scalable code in Go. Unlike general textbooks, this book focuses exclusively on performance: from micro-optimizations to architectural decisions.



Who this book is for:

  • Go developers with 1+ years of experience who have encountered performance issues in production.
  • Engineers transitioning to Go from other languages and wanting to understand the specifics of its runtime.
  • DevOps and SRE specialists responsible for optimizing services.
  • Anyone who wants to reduce latency and resource consumption in their Go applications.


What you will learn:

  • How to use built-in profiling tools (pprof, trace) to find bottlenecks.
  • Optimizing memory management: garbage collection, allocations, object pools, and zero-copy.
  • Writing efficient concurrent programs: goroutines, channels, sync.Pool, and concurrency limiting patterns.
  • Reducing response time (latency): benchmarking, algorithmic optimizations, working with network calls.
  • CPU and memory profiling, analyzing goroutine blockages and leaks.
  • I/O optimization: buffering, compression, working with files and sockets.
  • Performance anti-patterns and how to fix them.
  • Integrating profiling into CI/CD for automatic regression control.


The book is built on real-world examples from the author's experience — from microservices to high-load APIs. Each chapter contains code that can be immediately applied in a project. You will learn not just to "speed up" code, but to make informed decisions: when optimization is justified and when it is premature.



Special attention is paid to modern approaches: using Go 1.21+ (new packages slices, maps, sync.Map), generics for performance utilities, as well as working with CGo and assembly in critical places.



After reading, you will be able to:

  • Reduce memory consumption by 30–50% without losing code readability.
  • Reduce API response time by 2–3 times through proper concurrency handling.
  • Find and fix goroutine and memory leaks in minutes.
  • Build systems that handle thousands of requests per second on minimal resources.


This is not a language reference, but a concentrated experience in bringing Go applications to maximum efficiency. Suitable for those who want to stop "guessing" and start measuring, profiling, and improving.

Recommendations