Processor optimisation (Re: Ubuntu & Debian packages)

Matt Zimmerman mdz at canonical.com
Thu Sep 30 01:05:13 UTC 2004


NOTE: processor optimisation always seems to be a subject of fierce debate.
This message should present a clear idea of where Ubuntu stands on the
subject.  This is strictly a post-Warty development discussion, so please
don't begin a lengthy argument about it just yet.  When the time comes, it
will be discussed at length on ubuntu-devel.

On Thu, Sep 30, 2004 at 03:21:57AM +0300, Riku Nurkka wrote:

> What's the the problem why mixing Ubuntu and Debian packages is not
> recommended? If the problem is only related to this (from the FAQ):
> "there will be some packages which have the same version number,
> but are actually distinct", couldn't I reliably solve those problems
> simply by editing apt preferences (give Ubuntu packages preference over
> Debian packages - and maybe also use apt pinning if necessary)?

No, you can't.  apt pinning can only choose between packages with different
version numbers.  The advice in the FAQ is well considered; there are good
reasons not to do this.

It also should not be necessary, since everything in Debian is (or will be)
available from the Ubuntu repository as well.

> If Ubuntu won't recommend mixing Ubuntu packages with pure Debian
> packages and Ubuntu will be that different from pure Debian, why not
> then also consider compiling Ubuntu packages for a bit higher
> architecture than plain i386? 
>
> Yes, I know that the software speed benefits from CPU optimizations are
> often hyped and overestimated... But as nobody's probably even going to
> try to run Ubuntu on an old i486 - not to mention a i386 machine (too
> slow for GNOME etc.) wouldn't it then make even sense to optimize the
> Ubuntu packages for i586, or maybe even i686? 

Ubuntu packages are built using the i486 instruction set, with instructions
chosen based on timing information optimised for the Pentium 4.  This
produces a result which provides benefits for modern processors, without
gratuitously breaking compatibility with older ones.

Note that my network gateway is an i486-class embedded system which runs
Linux, from Soekris Engineering:

http://www.soekris.com/

I bought it new, less than a year ago.  They are not as uncommon as you
might think, when you consider that many Linux systems are not desktops.

> One of the main points why many people complain that Debian is too old for
> them is (besides of the relatively slow release cycle & old stable
> packages dilemma) that the official Debian packages are only for i386
> (whether i586/i686 optimization gives a significant speed benefit or not)
> while all the other major distributions have their offcial packages
> compiled (usually) at least for i586. 

Note that optimising for i586 seems to produce binaries which run more
slowly on i686 processors than when optimised for i386.  There is definitely
a lot of folklore around compiler optimisations which is not exactly in line
with reality. :-)

We do intend to explore the possibility of creating binaries using
instructions which are not available on i486, and perform controlled
experiments to determine whether the performance difference is measurable,
but this was not a goal for the Warty release, given other, more immediate
priorities.  We'll talk more about it sometime after the release.

-- 
 - mdz




More information about the ubuntu-users mailing list