Re: [PATCH] Use optimized single-datum tuplesort in ExecSort
David Rowley <dgrowleyml@gmail.com>
From: David Rowley <dgrowleyml@gmail.com>
To: Ranier Vilela <ranier.vf@gmail.com>
Cc: Ronan Dunklau <ronan.dunklau@aiven.io>, James Coleman <jtc331@gmail.com>, PostgreSQL Developers <pgsql-hackers@lists.postgresql.org>,
Dilip Kumar <dilipbalaut@gmail.com>
Date: 2021-07-13T12:24:03Z
Lists: pgsql-hackers
On Wed, 14 Jul 2021 at 00:06, Ranier Vilela <ranier.vf@gmail.com> wrote: > > Em ter., 13 de jul. de 2021 às 04:19, Ronan Dunklau <ronan.dunklau@aiven.io> escreveu: >> I would be >> surprised the check adds that much to the whole execution though. > > I think this branch is a misprediction. It could be. I wondered that myself when I saw Ronan's results were better than mine for 2,4 and 7. However, I think Ronan had quite a bit of noise in his results as there's no reason for the speedup in tests 2,4 and 7. > In most cases is it not datumSort? who knows. Maybe someone's workload always requires the datum sort. > That's why I would like to use unlikely. We really only use unlikely() in cases where we want to move code out of line to a cold area because it's really never executed under normal circumstances. We tend to do that for ERROR cases as we don't ever really want to optimise for errors. We also sometimes do it when some function has a branch to initialise something during the first call. The case in question here does not fit for either of those two cases. > IMO all the tests should all be to verify past behavior first. I'm not quire sure what you mean there. David
Commits
-
Make nodeSort.c use Datum sorts for single column sorts
- 91e9e89dccdf 15.0 landed