diff options
author | Robert Haas <rhaas@postgresql.org> | 2012-02-15 12:13:32 -0500 |
---|---|---|
committer | Robert Haas <rhaas@postgresql.org> | 2012-02-15 12:13:32 -0500 |
commit | 337b6f5ecf05b21b5e997986884d097d60e4e3d0 (patch) | |
tree | 09343650efe3ba295c204c421e71294b20c6a1e6 /src/port/qsort.c | |
parent | ac9100f8cf595f7512e98fc5c6338ee3e32a0651 (diff) | |
download | postgresql-337b6f5ecf05b21b5e997986884d097d60e4e3d0.tar.gz postgresql-337b6f5ecf05b21b5e997986884d097d60e4e3d0.zip |
Speed up in-memory tuplesorting.
Per recent work by Peter Geoghegan, it's significantly faster to
tuplesort on a single sortkey if ApplySortComparator is inlined into
quicksort rather reached via a function pointer. It's also faster
in general to have a version of quicksort which is specialized for
sorting SortTuple objects rather than objects of arbitrary size and
type. This requires a couple of additional copies of the quicksort
logic, which in this patch are generate using a Perl script. There
might be some benefit in adding further specializations here too,
but thus far it's not clear that those gains are worth their weight
in code footprint.
Diffstat (limited to 'src/port/qsort.c')
-rw-r--r-- | src/port/qsort.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/port/qsort.c b/src/port/qsort.c index 8e2c6d92c2d..49d8fa7ab6c 100644 --- a/src/port/qsort.c +++ b/src/port/qsort.c @@ -7,7 +7,7 @@ * Remove ill-considered "swap_cnt" switch to insertion sort, * in favor of a simple check for presorted input. * - * CAUTION: if you change this file, see also qsort_arg.c + * CAUTION: if you change this file, see also qsort_arg.c, gen_qsort_tuple.pl * * src/port/qsort.c */ |