Overview
Explore the intricacies of incremental compilation in Scala 3 through this conference talk from Scala Days 2023 Seattle. Delve into the workings of the incremental compiler, which is shared with Scala 2 but adapted for Scala 3's new features. Learn how to leverage incremental compilation to improve build times and discover potential areas for further performance enhancements. Gain insights into the principles behind incremental compilation, the changes introduced in Scala 3, and strategies to optimize its effectiveness. Understand concepts such as separate compilation, Zinc analysis, and the challenges posed by inline methods and multiproject builds. Examine advanced topics like multithreading, pipeline builds, and early output jars. Discover how project layout and organization can impact compilation efficiency. Conclude with a look at benchmarking and potential future optimizations like two-pass compilation.
Syllabus
Introduction
About Jamie Thompson
Premature Optimization
Scala CLI
Scala Compiler
Separate Compilation
Two Rules
Zinc
Analysis
Challenges
Inline Methods
Multiproject builds
Scala modules
How does this split up make your code faster
Multithreading
Pipeline builds
How does it work
Early Output Jar
Pipelining
leeches
other projects
project layout
perfect scenario
super duper optimization
summary
twopass compilation
Benchmark
Taught by
Scala Days Conferences