ここ数日のコミットで、PostgreSQLにLLVMを使ったJIT機能を取り込むためのコードが追加された(Basic JIT provider and error handling infrastructure.|postgres / postgres|Github.comなど)。追加されたコードは全体の初期段階にあり、今後、関連したコードが随時追加されていくものと見られる。

PostgreSQLのいくつかの部分にJITの機能を導入することでパフォーマンスの向上を狙うといった考えは、具体的な構想も含めて2016年辺りから話が持ち上がっていた。どの部分にJIT機能を適用できるかは、バックエンドにLLVMを使った場合のアイデアが「JIT-Compiling SQL Queries in PostgreSQL Using LLVM [PDF]」などにもまとまっている。

  • Basic JIT provider and error handling infrastructure.|postgres / postgres|Github.com

    Basic JIT provider and error handling infrastructure.|postgres / postgres|Github.com

JIT機能が適用される対象としては、SQL命令における計算式などが挙げられている。SQL命令に計算式が含まれている場合、この部分の処理がボトルネックとなることがある。このため、事前にコンパイルしておくことで処理を高速化するとしている。