4 ms·
Automatic Generation of a Hybrid Query Execution Engine
- ngaut 8y ago"We create a set of automated tools to create a runtime code generation engine and integrate such an engine into SQLite which is one of the most popular relational databases in the world and is used in a large variety of contexts. Speedups of up to 1.7x were observed in microbenchmarks with queries involving a large number of operations"
- ngaut 8y agoThe source code is available on GitHub: https://github.com/AlexKashuba/SQLite_JIT https://github.com/AlexKashuba/SQLite_JIT
- obl 8y agoIt's a cute idea to cobble together a meta-tracing JIT for sqlite's query interpreter using source extraction and gcc. I think it's basically a local minimum for implementation complexity vs performance though. To push that further you probably need to modify the original interpreter or encode more (any) knowledge about the semantics in the JIT, at which point you lose the main advantage of maintaining only one codebase.
- hinkley 8y agoIt gives you an idea of the sort of gains you might get with a proper JIT. if it had turned out that tracing only gave you a 10% boost then maybe a JIT isn’t the best place to put your time.
- sitkack 8y agoSounds like the Towers of Interpreters are starting to collapse.
- kashuba 8y agoGlad someone took interest in the work. I'm one of the coauthors and I'll be happy to answer the questions about the paper.