From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Andres Freund <andres(at)anarazel(dot)de> |
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 13:33:43 |
Message-ID: | 15684.1490621623@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Andres Freund <andres(at)anarazel(dot)de> writes:
>> I personally find per-function annotation ala
>> __attribute__((optimize("no-crossjumping")))
>> cleaner anyway. I tested that, and it seems to work.
>>
>> Obviously we'd have to hide that behind a configure test. Could also do
>> tests based on __GNUC__ / __GNUC_MINOR__, but that seems uglier.
Agreed.
> Checking for this isn't entirely pretty - see my attached attempt at
> doing so. I considered hiding
> __attribute__((optimize("no-crossjumping"))) in execInterpExpr.c behind
> a macro (like PG_DISABLE_CROSSJUMPING), but I don't really think that
> makes things better.
I think it would, primarily because if we find out that some other compiler
spells this differently, we could handle it totally within configure.
Isn't our practice to put __attribute__ at the end of a function
declaration or definition, not in the middle someplace?
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Ashutosh Sharma | 2017-03-27 13:34:54 | Re: Page Scan Mode in Hash Index |
Previous Message | Craig Ringer | 2017-03-27 13:29:02 | Re: logical decoding of two-phase transactions |