PostgreSQL 11 Won't Ship With Its Faster JIT Support Enabled By Default
One of the coolest innovations landing this year in PostgreSQL was LLVM-based JIT support to speed up database queries. But it's not going to be enabled by default in the upcoming PostgreSQL 11 release.
This functionality relies upon LLVM for JIT compiling SQL queries rather than passing those queries to the PostgreSQL interpreter. These LLVM JIT'ed queries have led to more efficient code being generated and particularly help with more complex queries.
The PostgreSQL JIT can be up to 20% faster in some database benchmarks and for more basic tasks like index creation was 5~19% faster.
PostgreSQL 11 has been working towards a release and up until now the JIT functionality has been enabled by default, but now developers have determined to disabled it by default for this next major stable update.
They fear the JIT back-end could introduce some regressions and just isn't mature enough yet to ship it enabled by default. But in the development Git code they will continue to leave it on for additional testing, hopefully we'll see it enabled for PostgreSQL 12.
They disabled it this weekend for the 11 release and have provided additional commentary on the project's mailing list.
This functionality relies upon LLVM for JIT compiling SQL queries rather than passing those queries to the PostgreSQL interpreter. These LLVM JIT'ed queries have led to more efficient code being generated and particularly help with more complex queries.
The PostgreSQL JIT can be up to 20% faster in some database benchmarks and for more basic tasks like index creation was 5~19% faster.
PostgreSQL 11 has been working towards a release and up until now the JIT functionality has been enabled by default, but now developers have determined to disabled it by default for this next major stable update.
They fear the JIT back-end could introduce some regressions and just isn't mature enough yet to ship it enabled by default. But in the development Git code they will continue to leave it on for additional testing, hopefully we'll see it enabled for PostgreSQL 12.
They disabled it this weekend for the 11 release and have provided additional commentary on the project's mailing list.
2 Comments