On Saturday 27 January 2007 01:05, Rony wrote:
What compilation has he done? Is he actually compiling the kernel or packages or does he give the specific commands at boot prompt? Could someone briefly explain the process?
He has used Gentoo to optimise each install for the specific hardware. That's one of the advantages of Gentoo.
This is something you won't ever face on a binary distro. The packages in these distros are compiled with generic flags that would work on most of the hardware. That's the difference the 386 or 586 or 686 makes in the package versions. These are the GCC flags used to optimise for a specific architecture.
Consider this for example: -march=athlon64 -msse3 -O2 -pipe
Notice the -msse3. SSE3 instruction set isn't available for, say 32 bit Semprons (Correct me if I'm wrong here.) It IS implemented in Sempron64 processors. So if I'm compiling some software for a Sempron64, I can use -msse3 but not for 32 bit Semprons. The generic build process of binary distros doesn't allow this flexibility, Gentoo does. The downside is, that you actually compile each and everything on a Gentoo machine. So, for example, as we speak, I'm starting a compilation cycle for KDE 3.5.6 right now, which I expect to be completed by tomorrow night. Compare that to, say Ubuntu, which would take around 10-15 minutes for installation. The point is though, that I have these packages optimised for my processor and not a generic family of processors. So if I'm using a distro, compiled without msse3 on a Sempron64, which supports SSE3, I'm losing out on the feature.
Did you ever read the release notes for FC4? It said something about being compiled for Pentium 4? I suppose they used -march=pentium4 instead of something like -march=i686 (If that's valid. I'm giving just an example.), which would support P3s and all.
Now coming back to the link given, check this out:
Intel Pentium Extreme Edition 965 -march=prescott -O2 -pipe AMD Athlon 64 FX-60 -march=athlon64 -msse3 -O2 -pipe
Does that tell you anything now? Clearly, the optimisation flags are set according to the processor and the architecture used.
Hope this is clear enough. I suppose you should ask people like Pradeepto and Vihan about GCC flags and all.