Re: A qsort template
Peter Geoghegan <pg@bowt.ie>
From: Peter Geoghegan <pg@bowt.ie>
To: John Naylor <john.naylor@enterprisedb.com>
Cc: Thomas Munro <thomas.munro@gmail.com>,
pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2021-07-30T07:10:49Z
Lists: pgsql-hackers
On Fri, Jul 30, 2021 at 3:34 AM John Naylor <john.naylor@enterprisedb.com> wrote: > I'm also attaching your tuplesort patch so others can see what exactly I'm comparing. If you're going to specialize the sort routine for unsigned integer style abbreviated keys then you might as well cover all relevant opclasses/types. Almost all abbreviated key schemes produce conditioned datums that are designed to use simple 3-way unsigned int comparator. It's not just text. (Actually, the only abbreviated key scheme that doesn't do it that way is numeric.) Offhand I know that UUID, macaddr, and inet all have abbreviated keys that can use your new ssup_datum_binary_cmp() comparator instead of their own duplicated comparator (which will make them use the corresponding specialized sort routine inside tuplesort.c). -- Peter Geoghegan
Commits
-
Remove debug messages from tuplesort_sort_memtuples()
- 6e647ef0e750 15.0 landed
-
Fix performance regression in tuplesort specializations
- 99c754129d78 15.0 landed
-
Fix tuplesort optimization for CLUSTER-on-expression.
- cc58eecc5d75 15.0 landed
-
Initial pgindent and pgperltidy run for v14.
- def5b065ff22 14.0 cited
-
Specialize checkpointer sort functions.
- 1b88b8908e75 14.0 landed
-
Use sort_template.h for qsort() and qsort_arg().
- f374f4d66425 14.0 landed
-
Use sort_template.h for qsort_tuple() and qsort_ssup().
- 8eda3eba3063 14.0 landed
-
Add sort_template.h for making sort functions.
- 0a1f1d3cac6b 14.0 landed
-
Use abbreviated keys for faster sorting of text datums.
- 4ea51cdfe85c 9.5.0 cited