Re: qsort again
Florian Weimer <fw@deneb.enyo.de>
From: Florian Weimer <fw@deneb.enyo.de>
To: Neil Conway <neilc@samurai.com>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, Gary Doades <gpd@gpdnet.co.uk>, pgsql-performance@postgresql.org, pgsql-hackers@postgresql.org
Date: 2006-02-16T12:10:48Z
Lists: pgsql-hackers, pgsql-performance
* Neil Conway: > On Wed, 2006-02-15 at 18:28 -0500, Tom Lane wrote: >> It seems clear that our qsort.c is doing a pretty awful job of picking >> qsort pivots, while glibc is mostly managing not to make that mistake. >> I haven't looked at the glibc code yet to see what they are doing >> differently. > > glibc qsort is actually merge sort, so I'm not surprised it avoids this > problem. qsort also performs twice as many key comparisons as the theoretical minimum. If key comparison is not very cheap, other schemes (like heapsort, for example) are more attractive.