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.