• We’re currently investigating an issue related to the forum theme and styling that is impacting page layout and visual formatting. The problem has been identified, and we are actively working on a resolution. There is no impact to user data or functionality, this is strictly a front-end display issue. We’ll post an update once the fix has been deployed. Thanks for your patience while we get this sorted.

So much for optimization

Nothinman

Elite Member
From the Debian Weekly News at http://www.debian.org/News/weekly/2003/44/

Debian faster than Gentoo? Matt Garman wondered why his C++ program ran dramatically slower when compiled on a Gentoo machine than when compiled with Debian Sid. He later reported that recompiling the Gentoo C++ libraries with less aggressive optimization flags (-O2 instead of -O3) eliminated the speed difference. William Kenworthy added that Debian and other distributions are conservative, but set up by very experienced people.
 
Anyone who knows anything, and doesn't just want to be cool by compiling their OS already knows compiler optimizations generally play a small part. For one of my CS homeworks (we were given a program and had to make it run as fast as possible), using anything above -O2 for my final version actually decreased my performance. However, for previous versions of the code, -O4 did create improvements, which told me I wasn't writing optimal C 😉.

edit: I'm always amused by people touting things such as -fomit-frame-pointer, as if the people creating .debs and .rpms were too stupid to have already done that.
 
Wasn't there something quite a while ago about debian beating gentoo. It used a couple of different programs, gnumeric being one of them.
 
From what I understand: I think that optimizations CAN play a big role. Depending on how you compile them, then you can stuff like a 20% boost in performance for some things. It differs from program to program and so on..

For different CPU's it may be good to optimize for them, so that apps can use stuff like MMX or SSE instructions. Or like compiling them for i686 vs i386. I suppose even that varies by quite a bit.

But if you go around trying weird stuff on the whole OS as a blanket, then it pretty much is being used indescrimanatly and your not going to get much of anything positive to happen.

...

I wonder, do Debian developers generally go around using the gcc without optimizations at all? Or do they try to get best performance out of speed-sensitive apps by testing them with different options? I suppose it's up to each package maintainer.
 
The difference between i386 and i686 is more of a change than the difference between generic i686 (-O2) and 'optimized i686' (-O3, -O4, etc). The reality is that most portable software won't be written to take advantage of things like SSE as that would defeat its portability. Writing portable apps that use processor-specific extensions is a real PITA, as it involves quite a lot of work. I have long thought that gentoo users were wannabes, this is just evidence. 😀

No offense to any gentoo users, but as the saying goes, the proof is in the pudding.
 
-O3 doesn't unroll loops. The only things that -O3 does over -O2 (this is in the man page 😉) are -finline-functions and -frename-registers.

There is no -O4 or anything else above -O3.

Anyways I'm tired of arguing about gentoo. There's no way we will successfully enlighten these savages so we should either ignore them or eradicate them. 😉

(There was a big thread about this on a mailing list I'm on recently, but it seems their archives are private so I can't link to them)
 
Originally posted by: CTho9305
edit: I'm always amused by people touting things such as -fomit-frame-pointer, as if the people creating .debs and .rpms were too stupid to have already done that.

What kind of person wants to debug! Hahahah, we gentoo users will show the world that we know how to make software SCREAM! Getting 3% better performance on my overclocked p4 (with 1gb of pc6700 ddr on my lan party motherboard, neon fans and rounded cables) is MUCH more important. I'll show those debian maintainers that I know more about packaging than them, er, gimme a minute to reboot into windows XP, I need to check my mail and it's still in my pirated copy of outlook 🙁

Hey you know a better window manager than gnome that has transparency? It's so bloated 🙁
 
if you use x86-based computers, intel's icc compiler does give better performance on fpu-intensive programs.
 
Originally posted by: jhu
if you use x86-based computers, intel's icc compiler does give better performance on fpu-intensive programs.

I thought it gave better results at everything. I thought MSVC was also faster than gcc. gcc aims at being cross-platform, the other two aim at being good for x86 😉.
 
Originally posted by: CTho9305
Originally posted by: jhu
if you use x86-based computers, intel's icc compiler does give better performance on fpu-intensive programs.

I thought it gave better results at everything. I thought MSVC was also faster than gcc. gcc aims at being cross-platform, the other two aim at being good for x86 😉.

Someone around here did some benchmarks a while back (was it you, jhu? 🙂), and gcc I believe actually made a good showing. I think that while icc and msvc are probably overall faster than gcc, there are probably a decent number of areas where gcc is faster, so it's not really a sure thing that icc or msvc will be faster for any given program.
 
yeah, that was me benchmarking icc and gcc using povray. however, for non-fpu programs, i've seen benchmarks that don't give much of a performance advantage.
 
Im back to Gentoo, since Debian was major PITA to install on an nForce2 mobo, while Gentoo was a breeze.

Anyways, I use -O2 anyway, can't say I notice a speed difference either way between Gentoo or Debian.
IIRC didn't they mention in that article that the Debian box was running GCC 3.3.x while the Gentoo box was running 3.2.x ?

But, as I've said many times before, Im not using Gentoo for speed, Im using it for the many other things it offer over other distros.

Would be interesting to see some experienced *NIX hacker play around with compiler optimizations on Gentoo though, but I support those people have other things to do 🙂
 
Originally posted by: BingBongWongFooey
-O3 doesn't unroll loops. The only things that -O3 does over -O2 (this is in the man page 😉) are -finline-functions and -frename-registers. There is no -O4 or anything else above -O3. Anyways I'm tired of arguing about gentoo. There's no way we will successfully enlighten these savages so we should either ignore them or eradicate them. 😉 (There was a big thread about this on a mailing list I'm on recently, but it seems their archives are private so I can't link to them)

Why I use gentoo:
Gentoo detected the hard drive i wanted to install on, debian didnt (actually this is the only real one, the others are just bonus)
emerge kde, gnome, or any window manager actually emerges X as a dependence, tasksel does not automatically install X if you select your machine is a desktop (wow that was annoying to figure out)
gentoo has forums, debian has mailing lists (guess which i prefer)
gentoo has documention, debian does too, but its really crappy

not to mention quicker updates, but thats probably a bleeding-edge, stability trade-off
please dont refer to me as an "ignorant savage" 😉

Also, there are -O4 (and above probably) optimizations, just not with gcc. My compiler class uses Tru64 Unix which has a C compiler which has a -O4 option ( I only know about it because my professor said that it normally makes your code run slower 😛).
 
Why I use gentoo:

Most of the reasons you site have reasons why they are the way they are.

For instance the DEs and WMs you mention don't pull in all of X because it's not a requirement, just he base Xlibs are required to run an X app over the network. And I actually do this, I installed ethereal on one of my servers without a monitor and I'm glad it didn't install all of gnome just for that.

I like forums, but mailing lists are easier to search.
Debian's documentation isn't crappy, it just assumes a certain level of knowledge which can be annoying at times but then it comes back to the mailing lists. Chances are someone's gone through what you are right now and it's been asked and answered already on a mailing list, those archives go back a log longer than most forums keep data around.
 
Originally posted by: Nothinman
Why I use gentoo:
Most of the reasons you site have reasons why they are the way they are. For instance the DEs and WMs you mention don't pull in all of X because it's not a requirement, just he base Xlibs are required to run an X app over the network. And I actually do this, I installed ethereal on one of my servers without a monitor and I'm glad it didn't install all of gnome just for that.

Note that I said I was using tasksel. I said I wanted a desktop machine complete with gnome and kde. It installed all that yet LEFT OUT THE X SERVER

I like forums, but mailing lists are easier to search. Debian's documentation isn't crappy, it just assumes a certain level of knowledge which can be annoying at times but then it comes back to the mailing lists. Chances are someone's gone through what you are right now and it's been asked and answered already on a mailing list, those archives go back a log longer than most forums keep data around.
to each their own
 
Originally posted by: brjames

Why I use gentoo:
Gentoo detected the hard drive i wanted to install on, debian didnt (actually this is the only real one, the others are just bonus)
That's pretty weird, definitely not an inherent debian problem (what I mean is, generally, a hard drive is a hard drive no matter the OS).

emerge kde, gnome, or any window manager actually emerges X as a dependence, tasksel does not automatically install X if you select your machine is a desktop (wow that was annoying to figure out)
I don't think it's even possible for a package to be installed without having its dependencies installed. Not saying you're lying but it just seems really really odd. Oh, and tasksel sucks. 😛

edit: whoops: For instance the DEs and WMs you mention don't pull in all of X because it's not a requirement, just he base Xlibs are required to run an X app over the network. And I actually do this, I installed ethereal on one of my servers without a monitor and I'm glad it didn't install all of gnome just for that.

Good point Nothinman 😛

gentoo has forums, debian has mailing lists (guess which i prefer)
I have a very strong distaste for gentoo's forums. They are basically the epitome of what I don't like about the bulk of gentoo's users.

gentoo has documention, debian does too, but its really crappy
Gentoo's is definitely easier to digest and more up to date. This is an area where debian could do a lot of work to improve. HOWEVER, their docs aren't all that bad. My mac using friend read through their docs with no complaints and now is running debian on his imac. He even recovered from a corrupted package by grabbing another one from the net and installing it instead. (corrupted iso or flakey cd drive problem I assume, he never did check the md5 sum of the iso)

not to mention quicker updates, but thats probably a bleeding-edge, stability trade-off
Maybe. The only stuff I find that's not on the bleeding edge is stuff like gnome and kde and X (i.e. really BIG gui stuff). I have no problem with running 3rd party packages so I've been running X 4.3 for forever now and I have no complaints. I honestly can't imagine how I could ever like another linux distro over debian, it really is that nice - once you take some time to learn it.

please dont refer to me as an "ignorant savage" 😉
Well of course not EVERY gentoo user is an idiot. But there are a LOT of them. Way too many. And I inevitably end up dealing with them on a daily basis, so I have some pent up frustration. 😉

Also, there are -O4 (and above probably) optimizations, just not with gcc. My compiler class uses Tru64 Unix which has a C compiler which has a -O4 option ( I only know about it because my professor said that it normally makes your code run slower 😛).

Yeah, I can remember seeing -O4 in some icc flags or something before too, but gcc is what's pertinent to this discussion.

Originally posted by: xcript

Don't let it get to you. I put it down to it being their "time of the month". 😉

😀 😀 😀

That was the first time I've litereally laughed out loud at a post here in a long time. 😛
 
Son: Dad, I need 20 bucks.
Dad: Mom's the one with all the money. I don't have jack right now.
Son: Well, were's Mom's purse at?
Dad: I wouldn't mess with Mom right now. It's her Aunt Floe's monthly visit.
Mom: GOD DAMN HERBERT I HEARD THAT YOU SON-OVA-B!TCH, YOU COME RIGHT HERE RIGHT NOW SO I CAN TALK TO YOU OH NO DON'T YOU WALK AWAY FROM ME.......
Son: Run, Dad, run!
 
Originally posted by: BingBongWongFooey
Originally posted by: Sunner
Originally posted by: xcript
Originally posted by: brjames
please dont refer to me as an "ignorant savage" 😉

Don't let it get to you. I put it down to it being their "time of the month". 😉

Ok, Im stupid, I don't get it???

Maybe an american thing.. what happens to women once a month? 🙂

Aha, heh, to me AT != women, so I didn't think quite that far 😉
 
Note that I said I was using tasksel. I said I wanted a desktop machine complete with gnome and kde. It installed all that yet LEFT OUT THE X SERVER

I don't have a machine to confirm or deny that on, but the only thing I can think of that might cause that is that Debian packages all the X servers seperately so you can mix in X 3.x servers.
 
The only stuff I find that's not on the bleeding edge is stuff like gnome and kde and X (i.e. really BIG gui stuff)

If you want the latest and "greatest" eye-candy gui stuff on a debian system, download the latest Knoppix cd, open a terminal, and (as root) type knx-hdinstall. You'll get KDE 3.1.4, Mozilla 1.5, and by default your sources.list file points you to the debian repositories which have everything else (almost) that you could ever need.
 
I know the reason that X isn't up to date is that Debian runs on more platforms then Xfree86 officially supports, so the X maintainers end up porting all the changes.

It appears from http://packages.debian.org/unstable/kde/ that most of the KDE packages are 3.1.4

gnome 2.4 is up to date. It went into unstable little more then a month after it was officially released.
 
Back
Top