TreeToaster: Towards an IVM-Optimized Compiler
Darshana Balakrishnan, Carl Nuessle, Oliver Kennedy, Lukasz Ziarek

TL;DR
TreeToaster introduces an IVM-optimized compiler approach that accelerates AST rewrite searches using indexing and incremental view maintenance, significantly enhancing performance in compiler optimization tasks.
Contribution
The paper presents TreeToaster, a novel AST-specific IVM method, and demonstrates its effectiveness in improving compiler optimization efficiency over existing techniques.
Findings
TreeToaster significantly improves AST rewrite search performance.
Minimal memory overhead introduced by TreeToaster.
Effective integration with existing JIT compiler infrastructure.
Abstract
A compiler's optimizer operates over abstract syntax trees (ASTs), continuously applying rewrite rules to replace subtrees of the AST with more efficient ones. Especially on large source repositories, even simply finding opportunities for a rewrite can be expensive, as optimizer traverses the AST naively. In this paper, we leverage the need to repeatedly find rewrites, and explore options for making the search faster through indexing and incremental view maintenance (IVM). Concretely, we consider bolt-on approaches that make use of embedded IVM systems like DBToaster, as well as two new approaches: Label-indexing and TreeToaster, an AST-specialized form of IVM. We integrate these approaches into an existing just-in-time data structure compiler and show experimentally that TreeToaster can significantly improve performance with minimal memory overheads.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
