Postgres 11 beta - no JITing

Started by Thomas Kellereralmost 8 years ago3 messagesgeneral
Jump to latest
#1Thomas Kellerer
spam_eater@gmx.net

Hello,

I am trying to assess the benefits of the new JIT feature in Postgres 11. However I can't figure out how to enable it.

I have a test server with "CentOS Linux release 7.5.1804"

I installed the beta using:

yum install https://download.postgresql.org/pub/repos/yum/11/redhat/rhel-7.4-x86_64/postgresql11-server-11.0-beta1_1PGDG.rhel7.x86_64.rpm
yum install postgresql11
yum install postgresql11-server

Then initdb and everything was up and running.

I checked the installation:

"show jit_provider" gives me: "llvmjit"
"show jit" gives me: "on"

pg_config reports that the beta was built with LLVM support.

I see --with-llvm in the output as well as 'LLVM_CONFIG=/usr/lib64/llvm5.0/bin/llvm-config'

But on my system there is no /usr/lib64/llvm5.0

So I ran "yum install llvm" which gave me: "llvm-libs-3.4.2-8.el7.x86_64" and "llvm-3.4.2-8.el7.x86_64" but still no /usr/lib64/llvm5.0)
And installing clang, gave me: clang.x86_64 3.4.2-8.el7

The cost of my test query is around 250000 - so even with the default configuration I would expect JITing to jump in.

As it didn't happen, I set jit_optimize_above_cost and jit_above_cost to 10, just to see what happens - still no JITing

I have uploaded one sample plan: https://explain.depesz.com/s/aVj2

Is there anything I need to install or enable in addition to what I have described?

I am not really experienced with managing a Linux system, so if I did some blatantly wrong things, please bare with me ;)

Thanks
Thomas

#2Andres Freund
andres@anarazel.de
In reply to: Thomas Kellerer (#1)
Re: Postgres 11 beta - no JITing

Hi,

On 2018-06-05 13:45:26 +0200, Thomas Kellerer wrote:

Hello,

I am trying to assess the benefits of the new JIT feature in Postgres 11. However I can't figure out how to enable it.

I have a test server with "CentOS Linux release 7.5.1804"

I installed the beta using:

yum install https://download.postgresql.org/pub/repos/yum/11/redhat/rhel-7.4-x86_64/postgresql11-server-11.0-beta1_1PGDG.rhel7.x86_64.rpm
yum install postgresql11
yum install postgresql11-server

I suspect the issue is that you also need the postgresql11-llvmjit
package. The LLVM support adds dependencies, so it's not included in the
main package.

Then initdb and everything was up and running.

I checked the installation:

"show jit_provider" gives me: "llvmjit"
"show jit" gives me: "on"

You can check whether support actually could be loaded with SELECT pg_jit_available();

Greetings,

Andres Freund

#3Thomas Kellerer
spam_eater@gmx.net
In reply to: Andres Freund (#2)
Re: Postgres 11 beta - no JITing

Andres Freund schrieb am 05.06.2018 um 14:34:

I am trying to assess the benefits of the new JIT feature in Postgres 11. However I can't figure out how to enable it.

I have a test server with "CentOS Linux release 7.5.1804"

I installed the beta using:

yum install https://download.postgresql.org/pub/repos/yum/11/redhat/rhel-7.4-x86_64/postgresql11-server-11.0-beta1_1PGDG.rhel7.x86_64.rpm
yum install postgresql11
yum install postgresql11-server

I suspect the issue is that you also need the postgresql11-llvmjit
package. The LLVM support adds dependencies, so it's not included in the
main package.

Ah, that was it, thanks.

(It took me a while to figure out how to also install llvm-5.0 for Centos 7, but I finally managed)