High Performance Go Workshop — screenshot of dave.cheney.net

High Performance Go Workshop

This is the essential, free workshop by Dave Cheney for anyone serious about writing high-performance Go. It provides the tools and knowledge to diagnose and resolve performance bottlenecks in Go applications, from benchmarking to understanding hardware and GC.

Visit dave.cheney.net →

Questions & Answers

What is the High Performance Go Workshop?
The High Performance Go Workshop is a free online resource by Dave Cheney designed to equip developers with the skills to diagnose and fix performance issues in Go applications. It covers topics from fundamental hardware principles to specific Go tools and techniques.
Who should attend or use the High Performance Go Workshop?
This workshop is intended for Go developers who want to deepen their understanding of application performance and optimize their Go code. It is particularly useful for those who need to address bottlenecks or ensure their Go services run efficiently.
How does this workshop approach Go performance optimization compared to other resources?
This workshop provides a comprehensive, structured approach to Go performance, starting with microprocessor fundamentals and progressing through benchmarking, profiling with pprof, compiler optimizations, and garbage collector tuning. Its focus on practical tools and Dave Cheney's expertise distinguishes it.
When should I utilize the High Performance Go Workshop?
You should utilize this workshop when you encounter performance degradation in your Go applications, need to optimize existing code for better resource utilization, or wish to proactively learn best practices for writing efficient Go. It serves as an excellent reference for deep dives into performance issues.
What specific tools or techniques are covered for Go performance analysis?
The workshop extensively covers using the testing package for benchmarking, benchstat for comparing results, and pprof for profiling CPU, memory, and blocking operations. It also delves into compiler optimizations like escape analysis and the Go execution tracer.