From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Andres Freund <andres(at)anarazel(dot)de> |
Cc: | pgsql-hackers(at)postgreSQL(dot)org |
Subject: | Re: Minor codegen silliness in ExecInterpExpr() |
Date: | 2017-09-28 22:39:03 |
Message-ID: | 14531.1506638343@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:
> On 2017-09-28 16:21:34 -0400, Tom Lane wrote:
>> We could save a pointless register spill
>> and reload if there were a temporary variable in there,
> Makes sense. Do you want to make it so, or shall I?
I just finished testing a patch, as attached. On my machine (again,
not latest gcc: 4.4.7 on RHEL6 x86_64), it reduces the code size of
execExprInterp.o by a fraction of a percent, and it seems to offer
a slight benefit in "pgbench -S" performance although I'd not put
much stock in that being reproducible.
> I'd personally be
> somewhat tempted to keep the branches in sync here...
I was tempted that way too, but it doesn't apply cleanly to v10,
because of Peter's recent cleanup of function pointer invocation
style. I don't think it's really worth worrying about.
regards, tom lane
Attachment | Content-Type | Size |
---|---|---|
shave-a-few-cycles-in-ExecEvalExpr.patch | text/x-diff | 6.5 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Peter Geoghegan | 2017-09-28 22:44:59 | Re: The case for removing replacement selection sort |
Previous Message | Peter Geoghegan | 2017-09-28 22:24:47 | Re: [COMMITTERS] pgsql: Fix freezing of a dead HOT-updated tuple |