PGCon2017 - 20180510

PGCon 2017
The PostgreSQL Conference

Andres Freund
Day Talks - Day 1 - 2017-05-25
Room DMS 1160
Start time 14:00
Duration 00:45
ID 1089
Event type Lecture
Track Hacking
Language used for presentation English

Integrating Just In Time Compilation to make Postgres faster

One major type of performance bottleneck in postgres query execution of analytical queries (i.e. queries processing a lot of rows) is the evaluation of expressions (like a = 3 or SUM(a * 4)). Another is converting the on-disk format of tuples into one suitable for quick accesses during query evaluation.

One approach to solve these performance problems is to generate native code on the fly, as that's often a lot faster than interpreting expressions - often called Just In Time Compliation (JIT).

This talk will discuss where JIT is likely to prove beneficial in postgres, what difficulties exist in employing JIT in postgres, and what progress has been made towards integrating JIT in postgres.

Topics will include:

  • What can be JITed, including expression evaluation and tuple deforming
  • Frameworks for JITing, their portability, and related problems
  • How to decide when to JIT
  • Performance benefits