Re: WIP: Faster Expression Processing v4

From: Andres Freund <andres(at)anarazel(dot)de>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Ants Aasma <ants(dot)aasma(at)eesti(dot)ee>, Heikki Linnakangas <hlinnaka(at)iki(dot)fi>, Tomas Vondra <tomas(dot)vondra(at)2ndquadrant(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: WIP: Faster Expression Processing v4
Date: 2017-03-27 16:18:59
Message-ID: 20170327161859.zzdsmbpnnayqh77y@alap3.anarazel.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 2017-03-27 11:52:05 -0400, Tom Lane wrote:
> As to the point of whether it actually helps or not ...
>
> on gcc 6.3.1 (Fedora 25), yes it does. Seems to be one "jmp *something"
> per EEO_NEXT or EEO_JUMP.
>
> on gcc 4.4.7 (RHEL 6), it makes things *WORSE*. We go from about half of
> the dispatches getting routed through a common location, to *all* of them
> (except one; for some odd reason the first EEO_NEXT in EEOP_NULLIF
> survives as a separate jump). This seems like a bug, but there it is.

Gah :(. I have gcc 5,6,7 here, but nothing earlier. I'm now inclined
to go the version check routine, for the individual versions we can (and
want) confirm this on... I'm not too concerned about not doing so on
gcc 4.4 or older...

> So this means we'd need some serious research to decide whether to apply
> it. And I'm suspecting we'd end up with a compiler version test.

Indeed.

- Andres

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Robert Haas 2017-03-27 16:19:05 Re: [COMMITTERS] pgsql: Improve performance of find_all_inheritors()
Previous Message Tom Lane 2017-03-27 16:18:37 Re: WIP: Faster Expression Processing v4