~/talk

Redesigning Gopls for 10x scale

Talkat GoLab 2024 · 2024-11-11..11-13· [go, developer-experience]
slides:none on file

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

  1. 0:00Introduction to gopls
  2. 1:21Analyzing performance bottlenecks
  3. 5:03Adopting separate compilation
  4. 5:52Redesigning for scalability
  5. 25:04Question and answer session
  6. 27:01Conclusion
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.