pgsql: Speed up in-memory tuplesorting.
От | Robert Haas |
---|---|
Тема | pgsql: Speed up in-memory tuplesorting. |
Дата | |
Msg-id | E1RxiWz-00046f-GN@gemulon.postgresql.org обсуждение исходный текст |
Список | pgsql-committers |
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. Branch ------ master Details ------- http://git.postgresql.org/pg/commitdiff/337b6f5ecf05b21b5e997986884d097d60e4e3d0 Modified Files -------------- src/backend/Makefile | 4 +- src/backend/utils/sort/.gitignore | 1 + src/backend/utils/sort/Makefile | 8 + src/backend/utils/sort/gen_qsort_tuple.pl | 232 +++++++++++++++++++++++++++++ src/backend/utils/sort/tuplesort.c | 68 +++++---- src/port/qsort.c | 2 +- src/port/qsort_arg.c | 2 +- src/tools/msvc/Solution.pm | 8 + 8 files changed, 289 insertions(+), 36 deletions(-)
В списке pgsql-committers по дате отправления: