While DataBase Management Systems (DBMSs) are highly optimized, interactions across the Programming Language (PL) / DBMS boundary are costly, even for in-process embedded DBMSs. In this paper we show that programs that interact with the widely-used embedded DBMS SQLite can be significantly optimized – by a factor of 3.4 in our benchmarks – by inlining across the PL / DBMS boundary. We achieved this speed-up by replacing parts of SQLite's C interpreter with RPython code and composing the resulting meta-tracing VM – called SQPyte – with the PyPy VM. SQPyte does not compromise stand-alone SQL performance: it is 2.2% faster than SQLite on the widely used TPC-H benchmark suite.
Wed 20 Jul
|15:30 - 15:55|
Carl Friedrich Bolz-TereickKing's College London , Darya MelicherCarnegie Mellon University, Laurence TrattKing's College LondonLink to publication DOI Pre-print Media Attached
|15:55 - 16:20|
|Link to publication DOI Pre-print|
|16:20 - 16:45|
Janwillem SwalensVrije Universiteit Brussel, Joeri De KosterVrije Universiteit Brussel, Wolfgang De MeuterVrije Universiteit BrusselLink to publication DOI Pre-print Media Attached