Ultimate performance

Ultimate Performance

Ultimate Performance is a hands-on class that focuses on squeezing better performance out of your Go applications. It teaches performance, profiling, and tracing

Trusted by:

Intel
Oracle
Cisco
Comcast
Capital One
Turner
Paypal
GE
Juniper
Hallmark Labs

Ardan Labs offers the “Ultimate Performance” class, a 2-day on-site corporate training for software developers who wants to learn how to debug, profile and trace their Go applications. This class will be both lecture and hands-on experience to teach and navigate the Go compiler and tooling.

Your team will walk away with philosophies and techniques for solving common problems with a big understanding of “if performance matters” then these things matter.


Course Overview


This class provides an intensive and comprehensive view of the Go compiler, profiler, and trace tooling. This will be a combination of lecture (to learn the important aspects of the Go compiler) and hands-on experience (to learn how to use the profile and trace tooling).

We will talk about semantics, guidelines, mechanical sympathy, and data-oriented design. Then we will dig into benchmarking, profiling and tracing. We believe this class is perfect for anyone who wants a jump start in learning how to debug Go applications or who wants a more thorough understanding of the language and its internals.

Everyone is going to be mentally exhausted by the end of each day. We will be challenging every student to think about what they are doing and why. In the 3 years, we have taught this material, we never had someone not appreciate the class and feel like they are a better developer for it.

Course outline:

  • Mechanical Sympathy
  • Data-Oriented Design
  • Escape Analysis
  • Inlining Functions
  • Bounds Check Elimination
  • Benchmarking
  • Profiling and Tracing

Minimal Qualified Student:

The material has been designed to be taught in a classroom environment. The code is well commented but missing some of the contextual concepts and ideas that will be covered in class. Students with the following minimal background will get the most out of the class.

  • Studied CS in school or has a minimum of two years of experience programming full time professionally.
  • Familiar with structural and object-oriented programming styles.
  • Has worked with arrays, lists, queues, and stacks.
  • Understands processes, threads, and synchronization at a high level.
  • Operating Systems
    • Has worked with a command shell.
    • Knows how to maneuver around the file system.
    • Understands what environment variables are.