Re: Re : Solaris Performance - Profiling (Solved) - Mailing list pgsql-general

From Mark kirkwood
Subject Re: Re : Solaris Performance - Profiling (Solved)
Date
Msg-id 1017817233.1266.17.camel@spikey.slithery.org
Whole thread Raw
In response to Re: Re : Solaris Performance - Profiling  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: Re : Solaris Performance - Profiling (Solved)
Re: Re : Solaris Performance - Profiling (Solved)
List pgsql-general
On Wed, 2002-04-03 at 04:02, Tom Lane wrote:
 >
> Hmm.  Where exactly did you get those numbers from?  I see 4118.54 sec
> as the total CPU accounted for in the profile.
>
odd ...the call graph has 4047.53 and the flat graph has 4118.54
>
> Hmm.  Assuming that the profile data is trustworthy and the queries are
> indeed the same (did you compare EXPLAIN output?), it seems that
> Solaris' problem is a spectacularly bad qsort() implementation.
>
A bit surfing finds heaps of unhappy Solaris qsort users... apparently
it cannot sort lists with many repeated items... so our GROUP BY will be
causing it grief here
>
> It might be entertaining to snarf a qsort off the net (from glibc,
> perhaps) and link it into Postgres to see if you get better results.
>
>             regards, tom lane
>
Indeed it is - obtained qsort.c from Freebsd CVS and rebuilt Postgresql :
The query now takes 6 seconds instead of 1 hour ! Thanks for an
excellent suggestion.

For those in need to a quick fix :

I did a cheap and dirty mod to src/backend/utils/sort/Makefile

changed OBJS = logtape.o -> OBJS = qsort.o logtape.o

and copied qsort.c into this directory

(had to comment out a couple of lines to compile under Solaris :

/*#include <sys/cdefs.h>
__FBSDID("$FreeBSD: src/lib/libc/stdlib/qsort.c,v 1.11 2002/03/22
21:53:10 obrien Exp $");
*/

)

What do you think about providing something like this for the Solaris
port ? (since its clearly quicker...)

regards

Mark







pgsql-general by date:

Previous
From: Oliver Elphick
Date:
Subject: Re: [HACKERS] v7.2.1 Released: Critical Bug Fix
Next
From: Justin Clift
Date:
Subject: Re: Re : Solaris Performance - Profiling (Solved)