Green Tea GC: The Insight Behind Go's New Garbage Collector

Язык и стандартная библиотека

Бэкенд / другое
GO
Оптимизация

Программный комитет ещё не принял решения по этому докладу

Целевая аудитория

Low-level systems programmers and performance engineers who want to understand how Go 1.26 uses AVX-512 instructions to accelerate garbage collection. Engineers working on GC implementations in other languages. Anyone curious about the intersection of hardware capabilities and GC design.

Тезисы

Green Tea's insight is elegant: scan spans, not objects. But how do you actually implement that? What data structures track which objects are marked vs. scanned? Why does the ownership protocol use three states? And how did span-based scanning unlock SIMD optimizations that were impossible before?

This talk dissects Green Tea's implementation: the inline mark bits structure, the FIFO span queues, the ownership protocol that prevents duplicate work, and the AVX-512 SIMD kernels in Go 1.26 that use a cryptographic instruction (VGF2P8AFFINEQB) for bitmap expansion. I've read the actual runtime code and understand why each design decision was made.

Alex is a Senior Staff Engineer at Stone, where he builds developer platforms and internal tools that empower engineering teams across the organization. With 17+ years of experience, he's the author of System Programming Essentials with Go and Learning Zig, and writes about staff engineering and systems thinking on Substack and his personal blog.

Alex speaks regularly at international conferences and is passionate about data-oriented design, making complex systems understandable, and helping engineers grow into technical leadership roles.

Видео