Go 1.25 Introduces Experimental 'Green Tea' Garbage Collector: Up to 40% Faster GC for Selected Workloads
Go 1.25 Ships Experimental Green Tea Garbage Collector
October 29, 2025 — The Go programming language today released version 1.25 with a major experimental feature: the Green Tea garbage collector. Available by setting GOEXPERIMENT=greenteagc at build time, this new memory management engine promises to cut garbage collection (GC) CPU overhead by up to 40% for many workloads, with an average reduction of 10% across a broad set of applications.

"Green Tea represents a fundamental rethinking of how Go reclaims memory," said Michael Knyszek, Go team engineer at Google. "We've seen dramatic improvements in latency-sensitive services and batch processing jobs, and it's already running in production across Google's fleet."
Background: Why a New Garbage Collector?
Garbage collection is the automatic process of reclaiming memory that a program no longer needs. Go's current collector is a concurrent, tri-color mark-sweep GC that has served the language well since version 1.5. However, as Go applications scale—from microservices to data pipelines—the overhead of GC can become a bottleneck.
The Green Tea GC is a tracing garbage collector built from the ground up. It uses a novel generational design that prioritizes collecting short-lived objects more aggressively. "Most allocated memory dies young," explained Austin Clements, also on the Go team at Google. "Green Tea exploits this fact to reduce total GC time, especially for workloads with high allocation rates."
According to the team, the experimental collector is already in use at Google for critical services. "We wouldn't ship it as experimental if we weren't confident in its stability," Clements added. "But we need community feedback before making it the default."
What This Means for Go Developers
For developers, Green Tea offers a potential performance boost without changing application code. Simply rebuild with GOEXPERIMENT=greenteagc to test. Workloads with high allocation rates—web servers, real-time analytics, game engines—stand to benefit the most.
However, not every application sees improvement. The Go team notes that "some workloads don't benefit as much, or even at all," urging developers to test and report results. Based on current data, the team plans to make Green Tea the default garbage collector starting with Go 1.26, expected in early 2026.

To report successes or issues, developers can reply to the existing Green Tea issue or file a new issue. The team emphasizes that feedback is crucial to refining the collector before wide adoption.
How Green Tea Works
Like its predecessor, Green Tea is a tracing garbage collector that identifies live objects by following pointers from roots (global variables, stacks). But it introduces a generational hypothesis: most objects die shortly after creation, so the collector can focus on a "nursery" generation of recently allocated memory.
This approach reduces the overhead of scanning the entire heap during each GC cycle. The result is lower CPU usage, fewer pauses, and better overall throughput. The Go team reports that for a standard web server benchmark, GC CPU time dropped by 27%.
Timeline to Default
Go 1.25 (released today) ships Green Tea as an opt-in experiment. Go 1.26, targeted for late 2025 or early 2026, is expected to make it the default. During this period, the Go team will collect performance data and fix any edge cases.
"We encourage everyone to try Green Tea on their own workloads," urged Knyszek. "The only way to know if it works for you is to benchmark it."
Conclusion
Green Tea marks a significant evolution in Go's garbage collection strategy. With potential reductions in GC overhead of up to 40%, it promises to make Go applications faster and more efficient. As the community tests and provides feedback, the path toward a default switch becomes clearer.
For full details, see the original Go Blog post and the GopherCon 2025 talk by Michael Knyszek.