Redesigning Gopls for 10x scale
summary
Gopls is rearchitected to start in seconds and cut memory from many gigabytes down to much smaller footprints, with the biggest repos seeing 10x speedup. It replaces a monolithic pointer graph with shallow export data plus stable object paths, builds per-package cross‑reference and method‑set indexes (fingerprints for interface checks), and uses a content‑addressed filesystem cache with tiny atomic files instead of locking. The design supports symbol‑level dependency tracking, incremental builds, cache hits across restarts, and ships in gopls 0.17.
AI-written summary · about
chapters (6)
- 0:00Introduction to gopls
- 1:21Analyzing performance bottlenecks
- 5:03Adopting separate compilation
- 5:52Redesigning for scalability
- 25:04Question and answer session
- 27:01Conclusion








