~/talk

5 Things You Need To Know About Scala Compilation

Talkat Scala Italy 2018 · 2018-09-14..09-15· [scala]
slides:none on file

Build time often exceeds raw compilation because SBT does dependency resolution, runs source generators and formatters, and evaluates task graphs before invoking Zinc, so use the IDE for tight edit/compile cycles. Zinc installs extra phases and zinc adds ~15% cold-compile overhead. Macro-heavy code explodes AST size and bytecode: each derived typeclass can add ~23KB and the typical tpnf ≈ 1.2 jumps above 4 for pathological cases. Whitebox macros are typechecked 3x. Expect ~1,200 LOC/s for normal Scala and ~400 LOC/s for heavy FP; Java ≈10,000 LOC/s.

AI-written summary · about

  1. 0:00Introduction and speaker intro
  2. 1:50Build time vs compilation time
  3. 8:59Zinc and incremental compilation
  4. 10:03Type class derivation pitfalls
  5. 17:08White box macros type checked thrice
  6. 19:36Type checking overhead and debugging
  7. 28:26Scala compiler single-threaded nature
  8. 31:40Scala compilation speed benchmarks
  9. 34:05Quiz time and Q&A
~/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.