Re: [PATCH] Use optimized single-datum tuplesort in ExecSort
Ranier Vilela <ranier.vf@gmail.com>
From: Ranier Vilela <ranier.vf@gmail.com>
To: Ronan Dunklau <ronan.dunklau@aiven.io>
Cc: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>,
James Coleman <jtc331@gmail.com>
Date: 2021-07-06T11:48:51Z
Lists: pgsql-hackers
Em ter., 6 de jul. de 2021 às 08:25, Ranier Vilela <ranier.vf@gmail.com> escreveu: > Em ter., 6 de jul. de 2021 às 03:15, Ronan Dunklau <ronan.dunklau@aiven.io> > escreveu: > >> Hello, >> >> While testing the patch "Add proper planner support for ORDER BY / >> DISTINCT >> aggregates" [0] I discovered the performance penalty from adding a sort >> node >> essentially came from not using the single-datum tuplesort optimization >> in >> ExecSort (contrary to the sorting done in ExecAgg). >> >> I originally proposed this patch as a companion in the same thread [1], >> but >> following James suggestion I'm making a separate thread just for this as >> the >> optimization is worthwhile independently of David's patch: it looks like >> we >> can expect a 2x speedup on a "select a single ordered column" case. >> >> The patch aimed to be as simple as possible: we only turn this >> optimization on >> when the tuple being sorted has only one attribute, it is "byval" (so as >> not >> to incur copies which would be hard to track in the execution tree) and >> unbound (again, not having to deal with copying borrowed datum anywhere). >> >> The attached patch is originally by me, with some cleanup by Ranier >> Vilela. >> I'm sending Ranier's version here. >> > Nice Ronan. > But I think there is some confusion here. > The author is not you? > > Just to clarify, at Commitfest, it was supposed to be the other way around. > You as an author and David as a reviewer. > I'll put myself as a reviewer too. > Sorry David, my mistake. I confused the numbers (id) of Commitfest. regards, Ranier Vilela
Commits
-
Make nodeSort.c use Datum sorts for single column sorts
- 91e9e89dccdf 15.0 landed