Re: Improve heapgetpage() performance, overhead from serializable
Andres Freund <andres@anarazel.de>
From: Andres Freund <andres@anarazel.de>
To: John Naylor <john.naylor@enterprisedb.com>
Cc: Zhang Mingli <zmlpostgres@gmail.com>, pgsql-hackers@postgresql.org, Thomas Munro <thomas.munro@gmail.com>
Date: 2023-09-05T18:38:01Z
Lists: pgsql-hackers
Hi, On 2023-09-05 14:42:57 +0700, John Naylor wrote: > On Mon, Jul 17, 2023 at 9:58 PM Andres Freund <andres@anarazel.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. Are you saying that the desired constant folding happened after combining the branches, or that it didn't happen? Greetings, Andres Freund
Commits
-
Remove references to old function name
- e3b69be95159 17.0 landed
-
Reduce branches in heapgetpage()'s per-tuple loop
- a97bbe1f1df9 17.0 landed