O’Reilly Media, 2022. — 495 p. — ISBN 1098105710.
With technological advancements, fast markets, and higher complexity of systems, software engineers tend to skip the uncomfortable topic of software efficiency. However, tactical, observability-driven performance optimizations are vital for every product to save money and ensure business success. With this book, any engineer can learn how to approach software efficiency effectively, professionally, and without stress. Author Bartłomiej Płotka provides the tools and knowledge required to make your systems faster and less resource-hungry. Efficient Go guides you in achieving better day-to-day efficiency using Go. In addition, most content is language-agnostic, allowing you to bring small but effective habits to your programming or product management cycles.
This book shows you how to:
Clarify and negotiate efficiency goals.
Optimize efficiency on various levels.
Use common resources like CPU and memory effectively.
Assess efficiency using observability signals like metrics, logging, tracing, and (continuous) profiling via open source projects like Prometheus, Jaeger, and Parca.
Apply tools like go test, pprof, benchstat, and k6 to create reliable micro and macro benchmarks.
Efficiently use Go and its features like slices, generics, goroutines, allocation semantics, garbage collection, and more!
Who This Book Is For:
Efficient Go focuses on giving the tools and knowledge necessary to answer when and how to apply efficiency optimization, depending strongly on circumstances and your organization’s goals. As a result, the primary audience for this book is software developers designing, creating, or changing programs written in Go and any other modern language. It should be a software engineer’s job to be an expert on ensuring the software they create works within both functional and efficiency requirements. Ideally, you have some basic programming skills when starting this book.
True PDF