Re: GISTSTATE is too large

2021-05-30 Thread Andres Freund
Hi, On 2021-05-30 15:14:33 +0200, Andreas Karlsson wrote: > I did the first part since it seemed easy enough and an obvious win for all > workloads. Cool! > +typedef struct GIST_COL_STATE > +{ > + FmgrInfoconsistentFn; > + FmgrInfounionFn; > + FmgrInfocompres

Re: GISTSTATE is too large

2021-05-30 Thread Zhihong Yu
On Sun, May 30, 2021 at 6:14 AM Andreas Karlsson wrote: > On 4/26/21 12:20 AM, Andres Freund wrote: > > It seems pretty clear that this should be changed to be something more > > like > > > > [...] > > > > with initGISTstate allocating based on > > IndexRelationGetNumberOfKeyAttributes() instead

Re: GISTSTATE is too large

2021-05-30 Thread Andreas Karlsson
On 4/26/21 12:20 AM, Andres Freund wrote: It seems pretty clear that this should be changed to be something more like [...] with initGISTstate allocating based on IndexRelationGetNumberOfKeyAttributes() instead of using a constant. And then subsequently change GIST_COL_STATE to embed the Funct

Re: GISTSTATE is too large

2021-04-25 Thread Andrey Borodin
> 26 апр. 2021 г., в 03:20, Andres Freund написал(а): > > So the basic GISTSTATE is 14kB large. And all the information needed to > call support functions for one attribute is spaced so far appart that > it's guaranteed to be on different cachelines and to be very unlikely to > be prefetched b