[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Optimizing for PentiumMMX?



Hi,

Check out the LFS guide (i think it's at linuxfromscratch.org, but a
quick google search will bring it up if that's no good).  That will give
you good info on the in's and out's of compiling base-system stuff w/ 
optimizations.

Cameron


On Tue, Jul 23, 2002 at 04:13:25PM +0100, John Gay wrote:
> I've been a faithful Debian user for several years now and quite enjoy the 
> 'ready-to-install' packaging of Debian. I must say that the .deb format seems 
> to be one of the best and apt-get and it's friends are a god-send for those 
> of us who have better things to do than figure out all the in's-N-out's of 
> UNIX-type systems. In fact, the only time I've had problems was when mixing 
> stable, testing and unstable. Yes, self-inflicted ;-)
> 
> Now, being un-employed for a while, and hoping to shift my skills from 
> hardware-cetric towards programming and system admin, I find plenty of time 
> on my hands now.
> 
> The only complaint I have about Debian is the time-lag from software release 
> and inclusion in Debian. No harm to the great people who dedicate great 
> amounts of time packaging stuff for Debian, but sometimes I'd like to play 
> with some BETA releases.
> 
> With this in mind, and an old 200Mhz PentiumMMX lying around, I decided to 
> have a go at building an optimized box without having to risk my regular box 
> to the hazards that presents.
> 
> To start, I've got 3 Woody pre-release CD's from Jan 3rd 2002 from a magazine 
> cover DVD. I've also got sources for KDE3 BETA2, XFree864.2.0 and the latest 
> cvs's from XFree86 and the DRI stuff. I installed a base system from the 
> Woody CD's plus all the development tools, so I could build the rest of the 
> system.
> 
> First things first, I built a fresh 2.4.18 kernel, since most improvements 
> can be made in the system calls in the kernel.
> 
> Next, I built XFree864.2.0 from the CD sources I have. I also applied a small 
> patch to fix an rgb bug in the glint driver. Next I started building KDE3, 
> starting with the qt libs, kde3 libs, kdebase and so on. Not all the modules 
> I had would build, but thats to be expected from BETA.
> 
> Now I know that KDE is large, it took over a full week to build everything 
> that would build, running 24 hours a day, but I still think I could get a bit 
> more responsivness from it.
> 
> I asked my local LUG if I should consider re-building anything else to 
> improve system response. GlibC was one recommendation I got. As I considered 
> this, I stopped to think:
> Should I re-build GlibC for i586 first,  and THEN build everything else? 
> Also, how can I be sure that what I am building is taking advantage of the 
> fact that I'm building on a 586 rather than the generic i386?
> 
> If I understand the process, and instruction sets correctly;
> The Pentium has faster instructions that GCC can take advantage of and 
> optimize the resulting binary.
> On the other hand, the MMX instructions require specific coding in the 
> sources to take advantage of the improvements, and since they are limited to 
> int's, not many programs bother to include MMX optimizations.
> The PIII, on the other hand, with it's SSE instructions, which provide MMX 
> style optimizations for floats are much more useful, and XFree86 and DRI, for 
> example have incuded optimizations for these.
> 
> Now my understanding of the standard build process is that when I run 
> ./configure in the root of the sources, it should notice that it's running on 
> a i586 and set something in the make files to ensure that GCC optimizes for 
> i586 when I run make. However, when I run file on a binary that I've build, I 
> get: 
> ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), not stripped 
> 
> Therefore, I can't help but think I'm missing something important to get the 
> best optimizations for this box.
> 
> So, after all that ;-) what would be the best way to fully optimise this box, 
> starting from a base install plus development stuff?
> 
> Should I re-build GlibC before compiling anything else? 
> Are there any other libs I should re-build? 
> Should I rebuild GCC as well? 
> Do I need to specify special options to ./configure to get better 
> optimizations?
> 
> Cheers,
> 
> 	John Gay
> 
> 
> -- 
> To UNSUBSCRIBE, email to debian-user-request@lists.debian.org 
> with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org


-- 
To UNSUBSCRIBE, email to debian-user-request@lists.debian.org 
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org



Reply to: