Contributor
Georgiy Lebedev

LLVM JIT engine for Tarantool's DQL


Mentors
imun, Kirill Yukhin, Nikita Pettik, Timur Safin
Organization
Tarantool

Tarantool's SQLite-derivative VM code for SQL engine known as 'vdbe' is creating a performance bottleneck: self-execution of the main part of the VM's opcode dispatcher is mostly half of total CPU time.

My proposal is to implement an embedded LLVM JIT engine solution which would replace part of vdbe responsible for DQL. In the future perspective, vdbe could be completely migrated to this engine. This solution is anticipated to give 20% performance boost for DQL compared to vdbe.

The goal of this project is to develop the solution described in the proposal, making it scalable, and integrate it with vdbe, afterwards benchmark it and compare its performance to that of original vdbe.