Re: qsort again (was Re: [PERFORM] Strange Create Index
Neil Conway <neilc@samurai.com>
From: Neil Conway <neilc@samurai.com>
To: "Steinar H. Gunderson" <sgunderson@bigfoot.com>
Cc: pgsql-performance@postgresql.org, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2006-02-16T19:14:03Z
Lists: pgsql-hackers, pgsql-performance
On Thu, 2006-02-16 at 12:35 +0100, Steinar H. Gunderson wrote: > glibc-2.3.5/stdlib/qsort.c: > > /* Order size using quicksort. This implementation incorporates > four optimizations discussed in Sedgewick: > > I can't see any references to merge sort in there at all. stdlib/qsort.c defines _quicksort(), not qsort(), which is defined by msort.c. On looking closer, it seems glibc actually tries to determine the physical memory in the machine -- if it is sorting a single array that exceeds 1/4 of the machine's physical memory, it uses quick sort, otherwise it uses merge sort. -Neil