Re: JIT compiling expressions/deform + inlining prototype v2.0

From: Greg Stark <stark(at)mit(dot)edu>
To: Konstantin Knizhnik <k(dot)knizhnik(at)postgrespro(dot)ru>
Cc: Andres Freund <andres(at)anarazel(dot)de>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: JIT compiling expressions/deform + inlining prototype v2.0
Date: 2017-09-05 18:43:33
Message-ID: CAM-w4HNrnxC5z4Np1vuUn0pbgRBVS=g6NL2J52nJ8fhNXrSx2Q@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 5 September 2017 at 11:58, Konstantin Knizhnik
<k(dot)knizhnik(at)postgrespro(dot)ru> wrote:
>
> I wonder if we can perform some optimization in this case (assuming that in
> typical cases column either contains mostly non-null values, either mostly
> null values).

If you really wanted to go crazy here you could do lookup tables of
bits of null bitmaps. Ie, you look at the first byte of the null
bitmap, index into an array and it points to 8 offsets for the 8
fields covered by that much of the bitmap. The lookup table might be
kind of large since offsets are 16-bits so you're talking 256 * 16
bytes or 2kB for every 8 columns up until the first variable size
column (or I suppose you could even continue in the case where the
variable size column is null).

--
greg

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2017-09-05 18:51:51 Re: Fix performance of generic atomics
Previous Message Jesper Pedersen 2017-09-05 18:39:05 Re: Fix performance of generic atomics