Thread: Compile Vs RPMs

Compile Vs RPMs

From
"Anjan Dave"
Date:
Hello,
 
I would like to know whether there are any significant performance advantages of compiling (say, 7.4) on your platform (being RH7.3, 8, and 9.0, and Fedora especially) versus getting the relevant binaries (rpm) from the postgresql site? Hardware is Intel XEON (various speeds, upto 2.8GHz, single/dual/quad configuration).
 
Thankyou,
Anjan
 
 
 
 

**************************************************************************

This e-mail and any files transmitted with it are intended for the use of the addressee(s) only and may be confidential and covered by the attorney/client and other privileges. If you received this e-mail in error, please notify the sender; do not disclose, copy, distribute, or take any action in reliance on the contents of this information; and delete it from your system. Any other use of this e-mail is prohibited.

 

Re: Compile Vs RPMs

From
Bill Moran
Date:
Anjan Dave wrote:
> Hello,
>
> I would like to know whether there are any significant performance
> advantages of compiling (say, 7.4) on your platform (being RH7.3, 8, and
> 9.0, and Fedora especially) versus getting the relevant binaries (rpm)
> from the postgresql site? Hardware is Intel XEON (various speeds, upto
> 2.8GHz, single/dual/quad configuration).

"significant" is a relative term.  1% can be significant under the proper
circumstances ...

http://www.potentialtech.com/wmoran/source.php

The information isn't specific to Postgres, and the results aren't really
conclusive, but hopefully it helps.

I really think that if someone would actually test this with Postgres and
post the results, it would be very beneficial to the community.  I have
it on my list of things to do, but it's unlikely to get done in the first
quarter the way things are going.

--
Bill Moran
Potential Technologies
http://www.potentialtech.com


Re: Compile Vs RPMs

From
Paul Thomas
Date:
On 03/02/2004 20:58 Anjan Dave wrote:
> Hello,
>
> I would like to know whether there are any significant performance
> advantages of compiling (say, 7.4) on your platform (being RH7.3, 8, and
> 9.0, and Fedora especially) versus getting the relevant binaries (rpm)
> from the postgresql site? Hardware is Intel XEON (various speeds, upto
> 2.8GHz, single/dual/quad configuration).

Very unlikely I would have thought. Databases tend to speed-limited by I-O
performance and the amount of RAM available for caching etc. Having said
that, I've only got one machine (the laptop on which I'm writing this
email) which has still got its rpm binaries. My other machines have all
been upgraded from source.

--
Paul Thomas
+------------------------------+---------------------------------------------+
| Thomas Micro Systems Limited | Software Solutions for the Smaller
Business |
| Computer Consultants         |
http://www.thomas-micro-systems-ltd.co.uk   |
+------------------------------+---------------------------------------------+

Re: Compile Vs RPMs

From
Christopher Browne
Date:
adave@vantage.com ("Anjan Dave") writes:
> I would like to know whether there are any significant performance
> advantages of compiling (say, 7.4) on your platform (being RH7.3, 8,
> and 9.0, and Fedora especially) versus getting the relevant binaries
> (rpm) from the postgresql site? Hardware is Intel XEON (various
> speeds, upto 2.8GHz, single/dual/quad configuration).

Some Linux distribution makers make grand claims of such advantages,
but it is not evident that this is much better than superstition.

You are certainly NOT going to see GCC generating MMX code
automagically that would lead to PostgreSQL becoming 8 times faster.

Indeed, in database work, it is quite likely that you will find things
to be largely I/O bound, with CPU usage being a very much secondary
factor.

I did some relative benchmarking between compiling PostgreSQL on GCC
versus IBM's PPC compilers a while back; did not see differences that
could be _clearly_ discerned as separate from "observational noise."

You should expect find that adding RAM, or adding a better disk
controller would provide discernable differences in performance.  It
is much less clear that custom compiling will have any substantial
effect on I/O-bound processing.
--
output = reverse("ofni.smrytrebil" "@" "enworbbc")
<http://dev6.int.libertyrms.com/>
Christopher Browne
(416) 646 3304 x124 (land)

Re: Compile Vs RPMs

From
"scott.marlowe"
Date:
On Tue, 3 Feb 2004, Christopher Browne wrote:

> adave@vantage.com ("Anjan Dave") writes:
> > I would like to know whether there are any significant performance
> > advantages of compiling (say, 7.4) on your platform (being RH7.3, 8,
> > and 9.0, and Fedora especially) versus getting the relevant binaries
> > (rpm) from the postgresql site? Hardware is Intel XEON (various
> > speeds, upto 2.8GHz, single/dual/quad configuration).
>
> Some Linux distribution makers make grand claims of such advantages,
> but it is not evident that this is much better than superstition.
>
> You are certainly NOT going to see GCC generating MMX code
> automagically that would lead to PostgreSQL becoming 8 times faster.
>
> Indeed, in database work, it is quite likely that you will find things
> to be largely I/O bound, with CPU usage being a very much secondary
> factor.
>
> I did some relative benchmarking between compiling PostgreSQL on GCC
> versus IBM's PPC compilers a while back; did not see differences that
> could be _clearly_ discerned as separate from "observational noise."
>
> You should expect find that adding RAM, or adding a better disk
> controller would provide discernable differences in performance.  It
> is much less clear that custom compiling will have any substantial
> effect on I/O-bound processing.

I would add that the primary reason for compiling versus using RPMs is to
take advantage of some compile time option having to do with block size,
or using a patch to try and test a system that has found a new corner case
where postgresql is having issues performing well, like the vacuum page
delay patch for fixing the issue with disk bandwidth saturation.  If
you've got a machine grinding to its knees under certain loads, and have a
test box to test it on, and the test box shows better performance, it
might be better to patch the live server on the off hours if it will keep
the thing up and running during the day.

In that way, performance differences are very real, but because you are
doing something you can't do with factory rpms.  Of course, building
custom rpms isn't that hard to do, so if you had a lot of boxes that
needed a patched flavor of postgresql, you could still run from rpms and
have the custom patch.