On Wed, May 21, 2003 at 12:59:59AM -0700, Mark Ferlatte wrote: > So, here's a list of reasons why this is not as obvious appears (I'm sure there > are more): > > * Compiler support: gcc has bugs. gcc CPU optimizers have bugs, and they are > often subtle, and not well known, since most people don't use the CPU > specific options. The i386 optimizer has been pretty well hashed out. Has > the i686? The i586? The i486? Sounds like an argument for having separate processor-specific versions in unstable (? and testing). More people using them => more chance of finding the bugs, and more real-world data on how much difference it makes. > * Where should the split be made? i686 eliminates a lot of useful hardware, > i586 hurts i686 and i486 more than i386 does, i486 is probably okay, but > doesn't gain as much as i686, but probably is necessary in order to maintain > compatibilty with other Linuxes. suggests i386, i486 and i686. Are they going to be distinguished by -march or -mcpu? -march, I'd hope: treat them as separate architectures. > * What about archive/mirror load? If you want to make the split, every package > needs to be rebuilt. That's a lot of mirror traffic and disk usage. True, but given the number of other architectures Debian already supports it's not too bad in percentage terms. > * What about upgrade path? > > * What about QA? > > And most importantly: > > * Who's going to do it? Good point... however, once something compiles OK for i386, it's _very_ rare for adding -march=i686 to break the compilation. Not like porting to a totally different architecture. So much of the hassle could be handled automatically (for CXXFLAGS in i386 i486 i686; do make...) (Though I wish Makefiles were more consistent in their handling of CXXFLAGS and the like... sometimes setting CXXFLAGS works, sometimes you have to set CC="gcc -O2 -march=i686", sometimes you have to edit the Makefile, sometimes it's a case of recursively hacking lots of Makefiles which makes a gcc wrapper an easier solution. I've ended up leaving the wrapper there all the time...) FWIW I recompile the kernel, libc6, X, compression stuff and gcc itself. I think it makes some difference, though I haven't done any formal tests, roughly equivalent in "how it feels" to getting a slightly better hard drive except without spending any money. -- Pigeon Be kind to pigeons Get my GPG key here: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x21C61F7F
Attachment:
pgpHmNrC_pTLL.pgp
Description: PGP signature