Speed up in-memory tuplesorting.

Robert Haas <rhaas@postgresql.org>

Commit: 337b6f5ecf05b21b5e997986884d097d60e4e3d0
Author: Robert Haas <rhaas@postgresql.org>
Date: 2012-02-15T17:13:32Z
Releases: 9.2.0
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.

Files