About this Learning Path

Who is this for?

This Learning Path is for engineers interested in learning more about Go garbage collection (GC) behavior on Arm.

What will you learn?

Upon completion of this Learning Path, you will be able to:

  • Select an AWS Graviton-based instance for repeatable Go GC measurements
  • Install Go and Benchstat on an Arm Linux server
  • Run a Go benchmark that reports allocation, GC, and pause-time metrics
  • Capture CPU and heap profiles without changing GC behavior
  • Interpret benchmarking results and experiment with changing GC behavior

Prerequisites

Before starting, you will need the following:

  • An AWS account with permission to launch an AWS Graviton-based Amazon EC2 instance running Ubuntu 24.04 LTS or another Arm Linux distribution
  • The AWS CLI installed and configured on your local machine
  • Basic familiarity with Go benchmarks and Linux shell commands
Next