Go Performance Optimization

Go Performance Optimization

1h 13mAdvanced2023-06-14

Authors

Miki Tebeka

Miki Tebeka

CEO at 353Solutions

Course details

Code that runs faster and consumes less memory can save your organization a lot of money, and responsive applications keep your users happy. For the past 25 years, Miki Tebeka has helped companies develop faster software with fewer resources. In this course, he shares the tools and techniques that he uses when optimizing code and services. Learn when and why to optimize and go over goal setting. Go over how to measure code performance and memory consumption. Explore solutions that involve concurrency and service optimization. Plus, discover why recording benchmarks is important and how to monitor and alter performance effectively.

Skills covered

GoAdvancedGoogleCloud ServicesProgramming LanguagesCloud ComputingSoftware Development

Concepts

Introduction

  • Go performance optimization
  • What you should know
  • Setting up

Performance Overview

  • Why optimize
  • Setting goals
  • Understanding Big O notation
  • Computer architecture overview

CPU Optimization

  • Measuring speed
  • Using the profiler
  • Common mistakes
  • Tips and tricks
  • Challenge - Improve a data structure
  • Solution - Improve a data structure

Memory Optimization

  • Measuring memory
  • Profiling memory
  • Common mistakes
  • Tips and tricks
  • Challenge - Improve memory consumption
  • Solution - Improve memory consumption

Concurrency

  • Amdahl's law and its implications
  • Fan out
  • Consumer producer
  • Challenge - GitHub influence
  • Solution - GitHub influence

Service Optimization

  • Measuring service performance
  • Choosing serialization format
  • Choosing transport medium
  • Caching
  • Challenge - Stock prices
  • Solution - Stock prices

Development Process

  • Why do you need a process
  • Recording benchmarks
  • Monitoring and alerting

Conclusion

  • Next steps
40,000 Toman