Re: qsort again (was Re: [PERFORM] Strange Create Index - Mailing list pgsql-hackers

From Neil Conway
Subject Re: qsort again (was Re: [PERFORM] Strange Create Index
Date
Msg-id 1140117243.31672.54.camel@localhost.localdomain
Whole thread Raw
In response to qsort again (was Re: [PERFORM] Strange Create Index behaviour)  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
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



pgsql-hackers by date:

Previous
From: Ron
Date:
Subject: Re: qsort again (was Re: [PERFORM] Strange Create
Next
From: "Pavel Stehule"
Date:
Subject: how solve diff of API counstruct_md_array between 8.1 and 8.2?