Skip to main navigation Skip to search Skip to main content

TreeToaster: Towards an IVM-Optimized Compiler

  • SUNY Buffalo

Research output: Contribution to journalConference articlepeer-review

3 Scopus citations

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 languageEnglish
Pages (from-to)155-167
Number of pages13
JournalProceedings of the ACM SIGMOD International Conference on Management of Data
DOIs
StatePublished - 2021
Event2021 International Conference on Management of Data, SIGMOD 2021 - Virtual, Online, China
Duration: Jun 20 2021Jun 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