~/talk

How We Built Tools That Scale to Millions of Lines of Code

Talkat Scala Days New York 2018 · 2018-06-19..06-21· [developer-experience]
slides:none on file

Twitter faces tens of millions of Scala lines organized into tens of thousands of targets and builds a lightweight semantic pipeline instead of reusing the full compiler: a SemanticDB protobuf schema plus a scalac plugin emits per-file semantic payloads, those payloads feed a queryable SQLite index (≈500 MB per million lines) with single- or double-digit ms lookups, exposed via a company-wide language server and used by Metals/Scalafix/meta-doc and distributed rewrite jobs — experimental results show it scales and works.

AI-written summary · about

  1. 0:00Introduction
  2. 2:26The Problem
  3. 7:10The Solution
  4. 11:52Overview
  5. 15:22Taystee
  6. 16:20Scala Meta
  7. 17:18Semantic DB
  8. 18:12Text Document
  9. 19:02Semantic DB Example
  10. 20:19Metabeam
  11. 20:48Symbols
  12. 21:18Currencies
  13. 22:05Scala Sphere in Crime
  14. 22:55Examples
  15. 23:17MetaDoc
  16. 23:41MethodDoc
  17. 25:44Metals
  18. 26:37Metal
  19. 27:33Code Actions
  20. 28:40ScalaFix
  21. 30:25Companywide Semantic Index
  22. 33:02Experimental IntelliJ Plugin
  23. 34:07Fabricator
  24. 34:57Evolution
  25. 36:17Summary
  26. 37:13Questions
~/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.