On Thu, 2008-04-17 at 06:41 +0200, Jens M Andreasen wrote:
On Wed, 2008-04-16 at 22:41 +0200, Mario Lang wrote:
You are not really following what I am trying to
get across. Cross compilation
isn't the issue. The issue is that something as generic as i386 (or i686 for
rpm based distros IIRC) actually targets a lot of different types of hardware.
It can run on pretty old pentium based CPUs, but also modern
systems. A binary distributor has no way of knowing which
CPU is going to be used, ...
The distributor has one tool at his disposal, the package-manager. This
will know where it lives and could (potentially) choose the right
package.
The package manager does not choose the "right package". There is no
"right package". The packager does not know on which computer the
software will be running and can't pre-optimize for something that is an
unknown at compile or packaging time. The software has to automagically
optimize itself for the processor it is running on when it starts.
That is the way this is done in many other audio oriented software
packages (Jack, Ardour, etc).
For Intel vector code unfortunately, the current
naming system with -386
-586 and -686 packages isn't very helpful because what we really need to
know is the processors mmx/sse level and wether it can deal with
denormals in a civilized manner. (An army of programmers to take
advantage of and verify systems we have only read about on the 'net
would be handy as well, thankyou ..)
That is precisely why the detection of the best routines has to be done
at runtime. Look at the capabilities of the processor and then decide
which routines to use.
-- Fernando