A comprehensive benchmarking repository to evaluate the impact of Go runtime flags (GOMAXPROCS, GOMEMLIMIT, GOGC) on applications built with the Agent Development Kit for Go. This project benchmarks real agentic coding tasks with different Go runtime configurations to help you optimize your ADK-based applications for:
- Performance: Execution speed and throughput
- Memory efficiency: RAM usage and GC behavior
- Resource constraints: Container and cloud deployments
The repository includes realistic agentic coding scenarios:
- Code Generator - Generates Go source files with functions and types
- File Searcher - Searches codebases for patterns using concurrent workers
- Refactorer - Performs code transformations across multiple files
- AST Parser - Memory-intensive parsing of Go abstract syntax trees
Each task is designed to stress different aspects of the Go runtime.
This tests 13 configurations across 4 agent tasks (52 total runs):
- Default settings
GOMAXPROCSvariations: 1, 2, 4, 8GOMEMLIMITvariations: 256MB, 512MB, 1GBGOGCvariations: 50, 200, off- Combined scenarios:
- Constrained:
GOMAXPROCS=1,GOMEMLIMIT=256MB,GOGC=50 - Performance:
GOMAXPROCS=8,GOMEMLIMIT=1GB,GOGC=200
- Constrained:
The report includes:
- Executive Summary: Overall statistics
- Task Analysis: Best configurations per task
- Recommendations: Flag tuning guidance based on results
- Complete Data: Full results table
go run ./cmd/advisor