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.
| Original language | English |
|---|---|
| Pages (from-to) | 155-167 |
| Number of pages | 13 |
| Journal | Proceedings of the ACM SIGMOD International Conference on Management of Data |
| DOIs | |
| State | Published - 2021 |
| Event | 2021 International Conference on Management of Data, SIGMOD 2021 - Virtual, Online, China Duration: Jun 20 2021 → Jun 25 2021 |
Keywords
- abstract syntax tress
- compilers
- incremental view maintenance
- indexing
Fingerprint
Dive into the research topics of 'TreeToaster: Towards an IVM-Optimized Compiler'. Together they form a unique fingerprint.Cite this
- APA
- Author
- BIBTEX
- Harvard
- Standard
- RIS
- Vancouver