From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Kyotaro HORIGUCHI <horiguchi(dot)kyotaro(at)lab(dot)ntt(dot)co(dot)jp> |
Cc: | andres(at)anarazel(dot)de, amitdkhan(dot)pg(at)gmail(dot)com, ashutosh(dot)bapat(at)enterprisedb(dot)com, pgsql-hackers(at)postgresql(dot)org, robertmhaas(at)gmail(dot)com, kommi(dot)haribabu(at)gmail(dot)com, alvherre(at)2ndquadrant(dot)com, amit(dot)kapila16(at)gmail(dot)com |
Subject: | Re: TupleTableSlot abstraction |
Date: | 2018-10-02 02:21:58 |
Message-ID: | 9677.1538446918@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Kyotaro HORIGUCHI <horiguchi(dot)kyotaro(at)lab(dot)ntt(dot)co(dot)jp> writes:
> At Tue, 25 Sep 2018 16:45:09 -0700, Andres Freund <andres(at)anarazel(dot)de> wrote in <20180925234509(dot)3hrrf6tmvy5tfith(at)alap3(dot)anarazel(dot)de>
>> On 2018-09-04 18:35:34 +0530, Amit Khandekar wrote:
>>> Pack the boolean members in TupleTableSlot into a 16 bit tts_flags.
>>> This reduces the size of TupleTableSlot since each bool member takes
>>> at least a byte on the platforms where bool is defined as a char.
> About bitfields, an advantage of it is debugger awareness. We
> don't need to look aside to the definitions of bitwise macros
> while using debugger. And the current code is preserved in
> appearance by using it.
FWIW, I would expect a change like this to be a net loss performance-wise
on most platforms. Testing the contents of a byte-wide variable is pretty
cheap on any architecture invented later than ~ 1970. Testing a bit,
though, requires a masking operation that is not free. I am not seeing
how making TupleTableSlot a little smaller buys that back ... we don't
normally have that many active slots in a plan.
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Bossart, Nathan | 2018-10-02 02:22:42 | Re: Add SKIP LOCKED to VACUUM and ANALYZE |
Previous Message | David Rowley | 2018-10-02 02:21:06 | Re: Subplan result caching |