~/talk

How does Incremental Compilation Work with Scala 3

Talkat Scala Days 2023 Seattle · 2023-06-05..06-07· [scala]
slides:none on file

Explains how Scala 3 kept the Scala 2 incremental compiler and adapts it via a compiler bridge and new API/dependency phases to support features like inline and TASTy; describes Scala 3 uses the same incremental compiler as Scala 2 and how zinc name-hashing and API stamps drive correctness and fast invalidation; measures pipelining on real projects, reporting pipelining reduces build times by ~20–33% (e.g., leeches 72s→55s) while increasing memory use, and shows a two‑phase compile gave ~34% win on the Dotty compiler.

AI-written summary · about

  1. 0:00Introduction
  2. 1:06About Jamie Thompson
  3. 2:04Premature Optimization
  4. 3:14Scala CLI
  5. 4:35Scala Compiler
  6. 5:59Separate Compilation
  7. 7:49Two Rules
  8. 8:31Zinc
  9. 12:59Analysis
  10. 17:45Challenges
  11. 19:02Inline Methods
  12. 20:45Multiproject builds
  13. 22:20Scala modules
  14. 22:44How does this split up make your code faster
  15. 23:02Multithreading
  16. 24:16Pipeline builds
  17. 26:04How does it work
  18. 27:31Early Output Jar
  19. 28:20Pipelining
  20. 28:54leeches
  21. 30:12other projects
  22. 30:49project layout
  23. 31:10perfect scenario
  24. 31:35super duper optimization
  25. 33:06summary
  26. 33:28twopass compilation
  27. 34:32Benchmark
~/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.