10.9K ·GitHub
What is this?
It is a free, work-in-progress book documenting best practices for writing high-performance Go code, covering both general optimization techniques and Go-specific ones.
Is this a book or a code library?
It is a book-style reference document, not a library or tool you install into a project. It's organized as a table of contents of chapters you read.
How do I start reading it?
Start with the 'Writing and Optimizing Go code' section, which covers how to optimize, the optimization workflow, and concrete tips before moving into Go-specific sections like garbage collection, runtime/compiler, and profiling.
Do I need to know Go already?
Yes, the Go-specific sections (garbage collection, runtime, CGO, assembly) assume you already know Go; the earlier general sections apply to any language.
Is the book finished?
No, it's explicitly a work in progress — some sections are just bullet points or TODOs waiting to be fleshed out into prose, and exercises/sample programs don't exist yet.
Is it available in languages other than English?
Yes, there are translated versions in Chinese, Spanish, and Brazilian Portuguese alongside the English original.
Does the book cover profiling tools?
Yes, there's a dedicated Tooling section covering Profiling and the Tracer, plus an appendix on implementing research papers.
What are similar projects?
python-guide, awesome-modern-cpp, cpu-performance-engineering, design-patterns-for-humans, RustTraining, the-way-to-go_ZH_CN, 500lines, Modern-CPP-Programming
Which topics is it in?
performance-analysis, profiling, performance-optimization, engineering, software-engineering, optimization, programming, book, guide, learning-resources, benchmark, tutorial
