Overview
Explore the challenges and solutions in developing a fast incremental compiler for a massive codebase in this code::dive 2019 conference talk. Dive into the novel approach of recompilation as patching previously compiled code, examining dedicated data structures and type checking algorithms for detecting changes and enabling rapid recompilation of affected code units. Learn how to shorten compiler feedback time from minutes to seconds for codebases exceeding 3 million lines of code with complex interdependencies. Gain insights from Michał Bartkowiak, an experienced C++ programmer and TTCN-3 compiler developer, as he shares pragmatic strategies for maximizing the value of compiler improvements in large-scale software development projects.
Syllabus
Intro
Business Need
Codebase Growth
How Much Can We Save?
Intermediate Representation (IR)
Example : AST from Clang
Cyclic Module Dependencies
IR: Our Requirements
TTCN-3 Type System
Intermediate Representation: Summary
Incremental Compilation: Definition
Incremental Compilation: Idea
IC: Algorithm: Bird's-Eye View
IC: Algorithm, Step 2
IC: Algorithm, Unk Graph
IC: Algorithm, Step 5.1
Incremental Compilation: Summary
Final Thoughts
Incremental Compilation: Outcomes
Taught by
code::dive conference