Re: Re : Solaris Performance - Profiling (Solved)

From: Mark kirkwood <markir(at)slingshot(dot)co(dot)nz>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Re : Solaris Performance - Profiling (Solved)
Date: 2002-04-03 07:00:06
Message-ID: 1017817233.1266.17.camel@spikey.slithery.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general pgsql-hackers

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

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Justin Clift 2002-04-03 07:59:14 Re: Re : Solaris Performance - Profiling (Solved)
Previous Message Oliver Elphick 2002-04-03 05:48:20 Re: [HACKERS] v7.2.1 Released: Critical Bug Fix

Browse pgsql-hackers by date

  From Date Subject
Next Message Daniel Kalchev 2002-04-03 07:09:34 Re: maxint reached?
Previous Message Bruce Momjian 2002-04-03 06:13:01 Re: pg_temp.XX.0