Thread: Postgres 11 beta - no JITing

Postgres 11 beta - no JITing

From
Thomas Kellerer
Date:
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




Re: Postgres 11 beta - no JITing

From
Andres Freund
Date:
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


Re: Postgres 11 beta - no JITing

From
Thomas Kellerer
Date:
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)