From: | Andrew Sullivan <andrew(at)libertyrms(dot)info> |
---|---|
To: | pgsql-general(at)postgresql(dot)org, pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: [HACKERS] Re : Solaris Performance - 64 bit puzzle |
Date: | 2002-05-16 19:54:32 |
Message-ID: | 20020516155432.C5987@mail.libertyrms.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general pgsql-hackers |
On Tue, Apr 30, 2002 at 03:28:13PM -0400, Tom Lane wrote:
> Do you need to profile it? It seemed that the 32-bit behavior for
> many-equal-keys was so bad that it'd be easy to tell whether it's
> fixed, just by rough overall timing of a test case...
Sorry for taking yet again so long. Fitting in little tests of this
sort of thing can be a bit of a bear -- there's always about 50 other
things to do. Anyway, I've performed some simple timed tests that, I
think, confirm that the 64 bit library on Solaris is not so bad.
version
-----------------------------------------------------------------
PostgreSQL 7.2.1 on sparc-sun-solaris2.7, compiled by GCC 3.0.3
bin$ file postmaster
postmaster: ELF 64-bit MSB executable SPARCV9 Version 1,
dynamically linked, not stripped
The config file is the default
I _think_ I've captured the case that was problematic. As I
understood it, qsort was having trouble when hit with many equal
keys. I created this table:
CREATE TABLE table1 (_date_stamp timestamp default current_timestamp,
foo text);
The table has no index. It has 5120000 records; field "foo" has only
four distinct values.
No matter whether I compiled with the system qsort or the qsort from
FreeBSD, I got roughly equivalent results running psql under time. I
know that's hardly an ideal test, but as Tom suggested, the 32-bit
case seemed to be so astonishingly bad that it should have been
enough. I ran the test repeatedly, and the results seem pretty
consistent. Here are some typical results:
system lib:
src$ time psql -p 12000 -o /dev/null -c "select * from table1 order
^by foo" test1
real 29m23.822s
user 2m10.241s
sys 0m7.432s
FreeBSD lib:
postgresql-7.2.1$ time psql -p 12000 -o /dev/null -c "select * from
table1 order by foo" test1
real 29m38.880s
user 2m10.571s
sys 0m8.032s
This example suggests the FreeBSD library is slightly worse in the
64-bit case. That's consistently the case, but the difference is not
so great that I'd put any stock in it.
I do not know whether there might be any trouble using the FreeBSD
library in a 64-bit configuration. I'd say, if you're going to use a
64-bit postmaster, use the Solaris libraries.
Hope this is helpful,
A
--
----
Andrew Sullivan 87 Mowat Avenue
Liberty RMS Toronto, Ontario Canada
<andrew(at)libertyrms(dot)info> M6K 3E3
+1 416 646 3304 x110
From | Date | Subject | |
---|---|---|---|
Next Message | Andrew Bartley | 2002-05-16 23:00:27 | Loading Array |
Previous Message | Stephan Szabo | 2002-05-16 16:55:51 | Re: Assertion constraint replacement? |
From | Date | Subject | |
---|---|---|---|
Next Message | Mike Mascari | 2002-05-16 19:56:28 | Re: Updated CREATE FUNCTION syntax |
Previous Message | Joel Burton | 2002-05-16 18:00:05 | Re: Updated CREATE FUNCTION syntax |