Go: Performance Tuning and Benchmarking
35mIntermediate2023-12-19
Authors

Ayan George
Course details
If you’re an intermediate Go developer, you probably already know that benchmarking is crucial for ascertaining and maintaining the performance of your program. In this course, join instructor Ayan George to take your skills to the next level and become a performance tuning and benchmarking MVP. Explore the basics of using the Go test tool and navigating the structure of a benchmark as well as how to manage the benchmark timer, clean up with b.Cleanup(), and use table-driven and parallel benchmarks. Along the way, Ayan covers some of the pitfalls of benchmarking that can compromise overall accuracy.
Skills covered
GoData Resource ManagementDatabase ManagementGoogleProgramming LanguagesSoftware DevelopmentOne-Off
Concepts
0. Introduction
- 01 - Be a Go benchmarking MVP
- 02 - How to use GitHub Codespaces with this course
1. Benchmarking Basics
- 03 - What is benchmarking
- 04 - Using the Go test tool
- 05 - How does benchmarking work In Go
- 06 - The structure of a benchmark
2. Managing the Benchmark Timer
- 07 - Managing the benchmark timer
- 08 - Cleaning up with b.Cleanup()
- 09 - Table-driven benchmarks
- 10 - Parallel benchmarks
3. Benchmarking Pitfalls Ensuring Benchmark Accuracy
- 11 - Inlined functions
- 12 - Forgetting iterate
- 13 - Bad wall to elapsed time ratio
- 14 - Challenge - Optimizing trace ID generation
- 15 - Solution - Optimizing trace ID Generation
4. Comparing Benchmarks
- 16 - Using Benchstat
Conclusion
- 17 - Next steps
Related courses
- Python Data Analytics: From Notebooks to Production
- Advanced NLP with Python for Machine Learning
- Quick Scripts for Difficult Conversations
- Azure AI Fundamentals (AI-900) Cert Prep: 2 Principles of Machine Learning on Azure
- Go Performance Optimization
- Learning PC Maintenance and Performance (2021)
- Learning PC Maintenance and Performance: Windows 11
- Go Essentials: Concurrency, Connectivity, and High-Performance Apps
Related learn paths
- Advance your Node.js Skills
- Advance Your Spring Development Skills
- Manage Your LLMs with LLMOps
- Introduction to Fundamental Skills for Data Work: Data Storage
- Advance Your Digital Illustration Skills
- Getting Started as a Java Developer
- The Top Skills Project Management Professionals Have Right Now
- Succeeding as a New Manager Professional Certificate by LinkedIn Learning