* 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.