Efficient generation of machine code for query compilers

10Citations
Citations of this article
8Readers
Mendeley users who have this article in their library.
Get full text

Abstract

Query compilation can make query execution extremely efficient, but it introduces additional compilation time. The compilation time causes a relatively high overhead especially for short-running and high-complexity queries. We propose Flounder IR as a lightweight intermediate representation for query compilation to reduce compilation times. Flounder IR is close to machine assembly and adds just that set of features that is necessary for efficient query compilation: virtual registers and function calls ease the construction of the compiler front-end; database-specific extensions enable efficient pipelining in query plans; more elaborate IR features are intentionally left out to maximize compilation speed. In this paper, we present the Flounder IR language and motivate its design; we show how the language makes query compilation intuitive and efficient; and we demonstrate with benchmarks how our Flounder library can significantly reduce query compilation times.

Cite

CITATION STYLE

APA

Funke, H., Mühlig, J., & Teubner, J. (2020). Efficient generation of machine code for query compilers. In Proceedings of the 16th International Workshop on Data Management on New Hardware, DaMoN 2020. Association for Computing Machinery. https://doi.org/10.1145/3399666.3399925

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free