DeAI Research
Source · Proceedings of the CGO/Proceedings of the ... CGO

Compile-Time Analysis of Compiler Frameworks for Query Compilation

2024Alexis Engelke; Tobias Schwarz

cid e0c093e3122f97b72d5065c78eadd2fcd910881bc0b90ca1aca99e3efb2de2d6 · original · via openalex

Title: Compile-Time Analysis of Compiler Frameworks for Query Compilation
Authors: Alexis Engelke; Tobias Schwarz
Venue: Proceedings of the CGO/Proceedings of the ... CGO
Year: 2024
Canonical: doi:10.1109/cgo57630.2024.10444856
URL: https://doi.org/10.1109/cgo57630.2024.10444856
Collector: openalex
OA: false

ABSTRACT
Low compilation times are highly important in contexts of Just-in-time compilation. This not only applies to language runtimes for Java, WebAssembly, or JavaScript, but is also crucial for database systems that employ query compilation as the primary measure for achieving high throughput in combination with low query execution time. We present a performance comparison and detailed analysis of the compile times of the JIT compilation back-ends provided by GCC, LLVM, Cranelift, and a single-pass compiler in the context of database queries. Our results show that LLVM achieves the highest execution performance, but can compile substantially faster when tuning for low compilation time. Cranelift achieves a similar run-time performance to unoptimized LLVM, but compiles just 20–35% faster and is outperformed by the single-pass compiler, which compiles code 16x faster than Cranelift at similar execution performance.