Grab

Go module proxy at Grab

Jun 30, 2023Jerry Ng
Go module proxy at Grab
SummaryAI, from the source post

This post details the implementation of Athens, a Go module proxy, combined with the `fallback` network mode and the `GOVCS` environment variable, to significantly improve the performance of Go commands (`go get`, `go list`) within Grab's large Go monorepo. It explains how this setup reduces VCS load and speeds up module retrieval from ~18 minutes to ~12 seconds for monorepo modules, while still allowing automatic updates for external modules. The post also quantifies the monorepo size using git-sizer and discusses the consequences of slow Go commands on developer productivity and VCS strain.

More from the Git Monorepo Optimization trail