According to 'perf', 85% of the CPU time is spent in ExecCopySlot(). To alleviate that, it might be worthwhile to add a special case for when the group contains exactly one group, and not put the tuple to the tuplesort in that case. Or if we cannot ensure that the Incremental Sort is actually faster, the cost model should probably be smarter, to avoid picking an incremental sort when it's not a win.
This thread has been idle for over a week. Please respond with a new patch by 2017-03-30 00:00 AoE (UTC-12) or this submission will be marked "Returned with Feedback".
Thank you for reminder!
------ Alexander Korotkov Postgres Professional: http://www.postgrespro.com The Russian Postgres Company