Re: [PATCH] Use optimized single-datum tuplesort in ExecSort

Ronan Dunklau <ronan.dunklau@aiven.io>

From: Ronan Dunklau <ronan.dunklau@aiven.io>
To: David Rowley <dgrowleyml@gmail.com>, John Naylor <john.naylor@enterprisedb.com>
Cc: James Coleman <jtc331@gmail.com>, PostgreSQL Developers <pgsql-hackers@lists.postgresql.org>, Ranier Vilela <ranier.vf@gmail.com>, Dilip Kumar <dilipbalaut@gmail.com>
Date: 2021-07-15T10:18:22Z
Lists: pgsql-hackers

Attachments

Le jeudi 15 juillet 2021, 01:30:26 CEST John Naylor a écrit :
> On Wed, Jul 14, 2021 at 6:14 AM David Rowley <dgrowleyml@gmail.com> wrote:
> > It would be good to get a 2nd opinion about this idea.  Also, more
> > benchmark results with v6 and v8 would be good too.
> 

Hello,

Thank you for trying this approach in v8 David !

I've decided to test on more "stable" hardware, an EC-2 medium instance, 
compiling with Debian's gcc 8.3. That's still not ideal but a lot better than 
a laptop. 

To gather more meaningful results, I ran every pgbench for 30s instead of the 
10 in the initial script provided by David. I ran the full script once for 
HEAD, v6, v8, then a second time for HEAD, v6, v8 to try to eliminate noise 
that could happen for 90 consecutive seconds, and took for each of those the 
median of the 6 runs.  It's much less noisy than my previous runs but still 
not as as stable as I'd like to.

The results are attached in graph form, as well as the raw data if someone 
wants it.

As a conclusion, I don't think it's worth it to introduce a separate 
execprocnode function for that case. It is likely the minor difference still 
observed can be explained to noise, as they fluctuate if you compare the min, 
max, average or median values from the results.

Best regards,

-- 
Ronan Dunklau

Commits

  1. Make nodeSort.c use Datum sorts for single column sorts