LinuxQuestions.org
Share your knowledge at the LQ Wiki.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - General
User Name
Password
Linux - General This Linux forum is for general Linux questions and discussion.
If it is Linux Related and doesn't seem to fit in any other forum then this is the place.

Notices


Reply
  Search this Thread
Old 08-02-2002, 09:12 AM   #1
wrc1944
Member
 
Registered: Aug 2002
Location: Gainesville, Florida
Distribution: Gentoo ~x86 2007.0
Posts: 139

Rep: Reputation: 15
Question 1586 vs i686 compiling?


I have the 7cd Mandrake 8.2 power pack, with the 2 source installation cd's. I have 2 high-end i686 machines running linux, one as described in my signature. I really like 8.2 overall, but have been somewhat little disappointed with the performance on this fairly high-end hardware. I've already done all possible hdparm and "Services" tweaking, but linux still lags far behind win98SE in overall performance on the same hardware. I've been reading alot about the differences between compiling from source, and using the "generic" i586 versions, in relation to linux performance, and my questions are as follows:

1. What are the real world differences in performance when you actually compile on particular hardware, i.e., is your resulting system then optimzed for the hardware it is compiled on? Details please, like how to insure a ./config script will compile for the specific hardware, or is this automatically accomplished?

2.Since Mandrake 8.2 is i586 based, and I'm running it on i686 architecture, would I get noticably better performance if I reinstalled it entirely from my 2 source installation cd's, and how exactly is that done? Or is it even possible?

3. Would I be better off building from scatch with a Linux From Scratch or Gentoo installation, or will there be a Mandrake (or other rpm distro) version completely optimized for i686 hardware soon? Would the performance gain even be worth the trouble?

4. Am I correct in thinking it's better to compile all my applications from source, instead of using rpm's compiled for lesser hardware? i686 rpms seem almost non-existent. If so, what's the best procedure? I have been putting all tarballs into a directory in /home, and extracting them there, and then doing my compiling from there.

Any info and/or experiences are greatly appreciated. Perhaps I'm a little obsessed with performance, but I really expect more out of a high-end system than I'm getting. Over the years, I made drastic improvements on windows based systems, and feel certain the same can be done with Linux systems- I just don't know how, beyond the few things I mentioned above.
Thanks,
wrc1944
 
Old 08-02-2002, 09:34 AM   #2
neo77777
LQ Addict
 
Registered: Dec 2001
Location: Brooklyn, NY
Distribution: *NIX
Posts: 3,704

Rep: Reputation: 56
i686 is rather general architecture specification for all ix86 family, you are running athlon (why would you need SSE instructions support, for instance) - so I'd concider using athlon optimization get a small article from LFS cvs repository
http://cvs.linuxfromscratch.org/inde...timization.txt
There are numerous options for optimization in gcc, probably
man gcc would be of more help.
 
Old 08-02-2002, 09:52 AM   #3
wrc1944
Member
 
Registered: Aug 2002
Location: Gainesville, Florida
Distribution: Gentoo ~x86 2007.0
Posts: 139

Original Poster
Rep: Reputation: 15
neo77777,
Just looked at that little article. Thats exactly the kind of info I was looking for. This makes me seriously consider uninstalling a bunch of application rpms and compiling from them source. Is it really worth the trouble? On another forum, I got a reply that suggested a bunch of options for the CFLAGS. Here's what he said- does it make sense?:

"Whenever I install any distro, I add

CFLAGS="-O9 -funroll-loops -ffast-math -malign-double -mcpu=i686 -march=i686
-fomit-frame-pointer -fno-exceptions"

CXXFLAGS=$CFLAGS

export CXXFLAGS CFLAGS

to /etc/profile."
----------------------------------------------
The article you suggested said to place things like this in .bashrc, so I'm still not quite clear on all this. Guess I'll do some more research first. Anyway, looks like a good learning experience, and fun.

Thanks for the info,
wrc1944
 
Old 08-02-2002, 09:56 AM   #4
neo77777
LQ Addict
 
Registered: Dec 2001
Location: Brooklyn, NY
Distribution: *NIX
Posts: 3,704

Rep: Reputation: 56
ok /etc/profile is a system wide configuration script that runs on users' login, .bashrc is only relevent to a particular user, put it under /etc/profile and you won't miss it, make mcpu=athlon and march=athlon
A side note: it is recommended to recompile your kernel with athlon optimization support as well. When you are in /usr/src/linux
do make menuconfig or make config or make xconfig in the procesor section pick Athlon/K7, choose what else you need, for detailed kernel compilation process search forums here, and http://www.tldp.org

Last edited by neo77777; 08-02-2002 at 10:00 AM.
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
How do I specify i686 arch/cpu when compiling? Seiken Slackware 16 07-29-2006 11:22 AM
trouble compiling i686 kernel? mma8x Linux - General 1 11-07-2005 06:11 AM
Compiling Firefox with i686 optimizations? Jacksteruk309 Linux - Newbie 3 10-19-2005 12:22 PM
compiling from source with i686 optimizations ganja_guru Linux - Software 6 11-08-2004 09:26 AM
compiling for i686 SVN Linux - Newbie 4 04-11-2004 04:24 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - General

All times are GMT -5. The time now is 02:23 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration