On Sat, Feb 17, 2007 at 10:06:43PM +0100, Joachim Schipper wrote:
> On Sat, Feb 17, 2007 at 12:36:00PM -0500, R. Fumione wrote:
> > Hello,
> > 
> > I am using OpenBSD on server since few years now, and I am very happy
> > with it's easy maintenance and it's stability. I want to try on
> > desktop, and I am having trouble.
> > 
> > Everything is much slower than existing Linux system. For example,
> > Firefox takes 3-5 seconds to start on Linux but ~10 seconds on
> > OpenBSD on same machine!
> > 
> > I tried compiler optimizations but those didn't help. Any suggestions?
> > Please cc replies to me also as I am not on misc. Thanks.
> > 
> > Fumione
> > 
> > (Note: please do not tell me change to lighter window manager. I
> > would like to use same environment or stay with Linux. Thanks.)
> 
> I believe the standard response to any comparison "use Linux if you're
> happy with it". Since you've already received that, here is an attempt
> to do the question a little more justice. (However, it boils down to 'it
> doesn't matter if FF loads a little slower, as long as it runs equally
> fast').
> 
> Most modern Linux distributions optimize dynamic library load using
> prelinking; 4.0 and later have a comparable idea implemented
> ('prebind'), but in a way that does not interfere with OpenBSD's
> security features. This is not enabled by default (I'm not sure why not,
> and would be very grateful if anybody would tell me, BTW), but can be
> enabled using `ldconfig -P /usr/bin /usr/sbin /usr/local/bin
> /usr/local/sbin /usr/X11R6/bin'. This should result in a noticeable
> speed increase, especially on programs with lots of loaded libraries -
> and look in /usr/local/mozilla-firefox to see that FF does have 'lots of
> loaded libraries'!
> Of course, it would be a good idea to know why it's not the default
> first. Also note that, if I remember correctly, prebind won't help if
> you use a nonstandard LD_LIBRARY_PATH, as FF does... so the command
> listed before is likely to work for just about every *other* program.
> 
> Another aspect is that Linux is much more aggressive in caching data
> from disk; if the amount of data read, the amount of work done in
> between, and the amount of RAM is such that Linux can get most data from
> its memory cache while OpenBSD has to read most of it from disk, Linux
> will be a *lot* faster. Of course, you would only see this effect if you
> started Firefox twice without doing much in between.
> 
> Both of those could explain why FF loads slower. If either of those is
> the big culprit, though, FF should run just as fast (slow) as it ever
> did, and since you're not likely to start it that often, I'd be inclined
> to say it isn't that big an issue.
> 
> If a comparable slowdown is found in running FF, that would be a
> problem. There are many variables there, of course... a dmesg might be
> helpful, for instance.
> 
> Aggressive compiler optimizations are not generally a good idea. The
> developers believe they are an unnecessary source of bugs, and since

I would like to point out here that the idea of optimization is that an
equivalent code that executes faster is produced. Optimizations don't
permit generating code that is not equivalent, unless specifically stated
in the flag description (-ffast-math).

It's therefore not the responsibility of the programmer to check whether the
result of optimization is correct. Therefore it's not the optimizations that
are source of bugs, but bugs in GCC.

CL<
> many optimizations are not enabled by default, there is not quite as
> much opportunity to find bugs in them. Plus, no amount of fiddling is
> likely to double speed.
> 
> Since you didn't mention what you are using at the moment, I can't very
> well tell you to switch to a lighter window manager, can I? Ion *is*
> nice, though... ;-)
> 
>               Joachim

Reply via email to