Re: JIT compiling with LLVM v12

From: Noah Misch <noah(at)leadboat(dot)com>
To: Andres Freund <andres(at)anarazel(dot)de>
Cc: Peter Eisentraut <peter(dot)eisentraut(at)2ndquadrant(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: JIT compiling with LLVM v12
Date: 2018-09-06 02:26:51
Message-ID: 20180906022651.GA2162795@rfd.leadboat.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Wed, Sep 05, 2018 at 11:55:39AM -0700, Andres Freund wrote:
> On 2018-08-22 06:20:21 +0000, Noah Misch wrote:
> > I see jit slows the regression tests considerably:
>
> Is this with LLVM assertions enabled or not?

Without, I think. I configured them like this:
cmake -G Ninja -DCMAKE_INSTALL_PREFIX=$HOME/sw/nopath/llvm -DCMAKE_BUILD_TYPE=MinSizeRel -DLLVM_USE_LINKER=gold -DLLVM_TARGETS_TO_BUILD=X86 ../llvm
cmake -G Ninja -DCMAKE_INSTALL_PREFIX=$HOME/sw/nopath/llvm-el32 -DCMAKE_BUILD_TYPE=MinSizeRel -DLLVM_USE_LINKER=gold -DLLVM_PARALLEL_LINK_JOBS=1 ../llvm

> > # mips32el, assert, w/o llvm (buildfarm member topminnow) [1]
> > 28min install-check-*
> > 35min check-pg_upgrade
> >
> > # mips32el, assert, w/ llvm 6.0.1 [1]
> > 63min install-check-*
> > 166min check-pg_upgrade
>
> But this seems so absurdly large of a difference that I kinda think LLVM
> assertions (wich are really expensive and add O(N) operations in a bunch
> of places) might be to blame.

The 2018-08-25 and 2018-09-01 published runs were far less bad. Most of the
blame goes to the reason given in the footnote (competing load on a shared
machine), not to JIT.

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Richard Guo 2018-09-06 03:43:25 Re: Implement predicate propagation for non-equivalence clauses
Previous Message Michael Paquier 2018-09-06 01:50:15 Re: pgsql: Clean up after TAP tests in oid2name and vacuumlo.