From: | John Naylor <john(dot)naylor(at)enterprisedb(dot)com> |
---|---|
To: | Andres Freund <andres(at)anarazel(dot)de> |
Cc: | Zhang Mingli <zmlpostgres(at)gmail(dot)com>, pgsql-hackers(at)postgresql(dot)org, Thomas Munro <thomas(dot)munro(at)gmail(dot)com> |
Subject: | Re: Improve heapgetpage() performance, overhead from serializable |
Date: | 2023-09-05 07:42:57 |
Message-ID: | CAFBsxsF+q7x6r+_Qoo48SqWZ8T2wSYRH48Qdrc+UsLvv6fbzkw@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Mon, Jul 17, 2023 at 9:58 PM Andres Freund <andres(at)anarazel(dot)de> wrote:
> FWIW, there's more we can do, with some hacky changes I got the time down
to
> 273.261, but the tradeoffs start to be a bit more complicated. And
397->320ms
> for something as core as this, is imo worth considering on its own.
Nice!
> On 2023-07-17 09:55:07 +0800, Zhang Mingli wrote:
> > Does it make sense to combine if else condition and put it to the
incline function’s param?
> >
> > Like:
> > scan->rs_ntuples = heapgetpage_collect(scan, snapshot, page, buffer,
> >
block, lines, all_visible, check_serializable);
>
> I think that makes it less likely that the compiler actually generates a
> constant-folded version for each of the branches. Perhaps worth some
> experimentation.
Combining this way doesn't do so for me.
Minor style nit:
+ scan->rs_ntuples = heapgetpage_collect(scan, snapshot, page, buffer,
+ block, lines, 0, 1);
I believe we prefer true/false rather than numbers.
--
John Naylor
EDB: http://www.enterprisedb.com
From | Date | Subject | |
---|---|---|---|
Next Message | Thomas Munro | 2023-09-05 07:58:10 | Re: old_snapshot_threshold bottleneck on replica |
Previous Message | Hayato Kuroda (Fujitsu) | 2023-09-05 07:34:48 | RE: [PoC] pg_upgrade: allow to upgrade publisher node |