In this paper we advocate that it is time for a radical rethinking of database systems design. Developers should be able to leverage high-level programming languages without having to pay a price in efficiency. To realize our vision of abstraction without regret, we present LegoBase, a query engine written in the high-level pro-gramming language Scala. The key technique to regain efficiency is to apply generative programming: the Scala code that constitutes the query engine, despite its high-level appearance, is actually a program generator that emits specialized, low-level C code. We show how the combination of high-level and generative program-ming allows to easily implement a wide spectrum of optimizations that are difficult to achieve w...
With the rise of metaprogramming in Scala, manipulating ASTs has become a daily job. Yet the standar...
Generating platform-specific machine code for query compilation is commonly applied in database mana...
Abstract — A key step in program optimization is the estimation of optimal values for parameters suc...
In this paper we advocate that it is time for a radical rethinking of database systems design. Devel...
Abstraction without regret refers to the vision of using high-level programming languages for system...
We are currently witnessing a shift towards the use of high-level programming languages for systems ...
Because of the low arithmetic intensity of relational database operators, the performance of in-memo...
AbstractWe present the design and implementation of a SQL query processor that outperforms existing ...
Many emerging programming environments for large-scale data analysis, such as Map-Reduce, Spark, and...
AbstractThe quality of compiler-optimized code for high-performance applications is far behind what ...
Although compiling queries to efficient machine code has become a common approach for query executio...
International audienceThe quality of compiler-optimized code for high-performance applications lags ...
Modularity and efficiency are often contradicting require-ments, such that programers have to trade ...
It has been said that all problems in computer science can be solved by adding another level of indi...
The quality of compiler-optimized code for high-performance applications lags way behind what optimi...
With the rise of metaprogramming in Scala, manipulating ASTs has become a daily job. Yet the standar...
Generating platform-specific machine code for query compilation is commonly applied in database mana...
Abstract — A key step in program optimization is the estimation of optimal values for parameters suc...
In this paper we advocate that it is time for a radical rethinking of database systems design. Devel...
Abstraction without regret refers to the vision of using high-level programming languages for system...
We are currently witnessing a shift towards the use of high-level programming languages for systems ...
Because of the low arithmetic intensity of relational database operators, the performance of in-memo...
AbstractWe present the design and implementation of a SQL query processor that outperforms existing ...
Many emerging programming environments for large-scale data analysis, such as Map-Reduce, Spark, and...
AbstractThe quality of compiler-optimized code for high-performance applications is far behind what ...
Although compiling queries to efficient machine code has become a common approach for query executio...
International audienceThe quality of compiler-optimized code for high-performance applications lags ...
Modularity and efficiency are often contradicting require-ments, such that programers have to trade ...
It has been said that all problems in computer science can be solved by adding another level of indi...
The quality of compiler-optimized code for high-performance applications lags way behind what optimi...
With the rise of metaprogramming in Scala, manipulating ASTs has become a daily job. Yet the standar...
Generating platform-specific machine code for query compilation is commonly applied in database mana...
Abstract — A key step in program optimization is the estimation of optimal values for parameters suc...