[wplug] Compiler questions

Dave Neuer mr_fred_smoothie at yahoo.com
Wed Feb 2 13:56:10 EST 2005


First things first, full disclosure: I'm a diehard
Gentoo user, with  a few reservations. I'm also a
software developer, and even a Linux contributor, so I
may not be what one would describe as an "average
user."

Now to respond:

--- Jonathan S Billings <billings at negate.org> wrote:

> Bill Moran wrote:
> > 4) Generally, source becomes available prior to
> binary packages, so
> >    you can (usually) stay more up to date by
> compiling your own than
> >    by waiting for someone to roll binary packages.
> > 7) Of course, there's compiler optimizations.
> 
> My opinion and experience lead me to think that of
> all these reasons, 
> most users only take advantage of 4 and 7, and let
> the OS do the 
> automatic build and install of new software
> packages.

I agree wholeheartedly with this statement. However, I
don't think that that erases the value of compiling
from source; as Bill pointed out, there are
applications that will see _significant_ performance
improvements from being compiled to the native
platform.

And as Bill pointed out, different processors even
within the same processor familiy may have different
characteristics: MMX, SSE, 3DNow, different cache
sizes, etc.

A good example: the Pentium-M processors in many
recent laptops are NOT P4's; they are architecturally
PIII's with special powersaving features, and thus
should be compiled with -march="pentium-m" or
-march="pentium-3." GCC is very good at optimizing for
different specific architectures -- AnandTech has some
actual statistics for the Pentium-M w/ different
-march settings for both GCC and Intel's compiler. I
have noticed, _subjectively_, better performance from
my Gentoo systems than I ever experienced using binary
distros. Of course, if performance is less of a
priority for you than testing and support (both of
which are still very good on some source-based
distros), than maybe staying with a binary distro
makes sense.

> 
> I'd also like to point out that source-based distros
> do not scale well 
> at all, and can introduce strange problems into
> maintaining the 
> infrastructure.

The area where I've noticed this most is that you
still need to have active, attentive maintainers
(Gentoo, for instance, uses a custom build/package
management system called Portage, and they apply a lot
of bugfix and security patches -- both their own, and
from other distros, particularly Mandrake). Audio apps
on Gentoo in particular seem to lag behind the
official upstream versions -- because it take a while
for someone to create a .ebuild (Portage's version of
a Makefile, sort of; actually more of a meta-Makefile)
for many of them. The adventurous user can always take
it upon themselves to create them, but that entails
learning YABF, which is a PITA.

On the whole, I'd say source based distros are fine
for people who

a) value performance more than most other
characteristics; and
b) don't mind occasionally getting their hands dirty,
filing bug reports, and/or contacting the maintainers.

And yes, Virginia, compiler options do make a
difference, and source-based distros are the easiest
way to apply those system-wide.

Dave


More information about the wplug mailing list