JIT compiled SQL expressions
- Mentors
- Marko
- Organization
- MariaDB
- Technologies
- c++ llvm
- Topics
- database jit
MCS uses interepreted execution to calculate SQL expressions results. Here is an example of a SQL expression 'table1.col1 + FLOOR(table2.col1)'. Given that table1.col1 is DECIMAL and table2.col1 is DOUBLE there is a number of conditions that drives the calculation of this relatively simple example in runtime. Given that SQL types and expression tree are known before the query begins it is possible to replace interpretation with JIT to produce specialized compiled bytecode that is:
small
has no or almost no branches
optimized for the specific platform it is run at
This is a research mostly project which goal is to produce a set of microbenchmarks that:
leverages any JIT compiler available, e.g. LLVM, MIR
demonstrates a negative and positive effects of using JIT