Measure and modify Go garbage collection behavior on AWS Graviton-based compute
Introduction
Choose an AWS Graviton-based instance for Go garbage collection benchmarking
Install Go and Benchstat on an AWS Graviton-based Amazon EC2 instance
Create a Go garbage collection benchmark
Run the benchmark with default Go garbage collection settings
Interpret the default garbage collection benchmark results
Experiment with garbage collection optimization
Next Steps
Measure and modify Go garbage collection behavior on AWS Graviton-based compute
Introduction
Choose an AWS Graviton-based instance for Go garbage collection benchmarking
Install Go and Benchstat on an AWS Graviton-based Amazon EC2 instance
Create a Go garbage collection benchmark
Run the benchmark with default Go garbage collection settings
Interpret the default garbage collection benchmark results
Experiment with garbage collection optimization
Next Steps
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