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 JulDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
Wed 20 Jul
Displayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
15:30 - 16:45 | |||
15:30 25mTalk | Making an Embedded DBMS JIT-friendly Research Track CF Bolz-Tereick King's College London , Darya Melicher Carnegie Mellon University, Laurence Tratt King's College London Link to publication DOI Pre-print Media Attached | ||
15:55 25mTalk | QL: Object-oriented Queries on Relational Data Research Track Link to publication DOI Pre-print | ||
16:20 25mTalk | Transactional Tasks: Parallelism in Software Transactions Research Track Janwillem Swalens Vrije Universiteit Brussel, Joeri De Koster Vrije Universiteit Brussel, Wolfgang De Meuter Vrije Universiteit Brussel Link to publication DOI Pre-print Media Attached |