Towards Parallelizing Scala Compilations
summary
Rsc computes public type signatures called outlines, dumps them in the Scala compiler format, and then launches multiple scalac instances to compile partitions in parallel using a toy build tool called warp. On Twitter Util (75k LOC, 60 targets) running on dual 16-core machines this multi-phase approach reduces end-to-end build time from ~37s to ~6s — about 2.7x overall speedup. A limited Rsc prototype type checker shows 20–25x speedups on simple inputs and outlining can be ~10x faster than scalac compilation in practice.
AI-written summary · about
chapters (6)
- 0:00Introduction to parallel Scala compilation
- 2:51What is RSC and its goals
- 9:54From prototype to practical use
- 13:55Multi-phase compilation explained
- 20:26Experimental results and benchmarks
- 24:47Credits and future work
related talks
31mRsc: Scala Outlining for Distributed Compilation
48mMassively Parallel Distributed Scala Compilation And You
21mReasonable Scala Compiler
31m5 Things you Need to Know About Scala Compilation
46mCompiling Scala Faster with GraalVM
32mSpeedy Scala Builds at Databricks
57mScalan: a reasonably typed meta programming framework in Scala
01h 05mScala: The Simple Parts
