Optimizing KDE 3.1.x
David Lechnyr writes "This article goes into detail on optimizing KDE for speed. Typically, most distributions include pre-compiled binaries of KDE which are optimized for an Intel i386 computer. Chances are that you're running something faster than this; if so, this should help you tweak the compile process to speed things up a bit."
You wait for it to compile and install, which beats waiting several days waiting for redhat/mandrake, etc. to release rpms.
"Does" this all for you. By "does", I mean that the install guide forcefully tells you to alter your /etc/make.conf file to include support for the features you want and the optimizations you want.
Btw, you don't just sit around for 8 hours waiting for something to compile. If you're in CLI-only, you do the following:
emerge screen
screen emerge kde
C^A C^C
Then you do whatever else you want to do. I recommend getting IRSSI and Lynx for internet-amusement.
If you already have Xfree86 setup, then you do the following:
emerge ratpoison
C^A C^C
Then run whatever graphical X-programs you want in your new ratpoison windows.
This is the beauty of a *modern day* multi-tasking OS like GNU/Linux. This isn't the same crap as Micro$oft. You can compile something AND do other things at the same time, since memory management is great as is multi-tasking (depending on your kernel and compile options for the kernel). Try compiling something using MS's compilers and doing something else at the same time. I compiled WindowMaker, for example, while doing other tasks in ratpoison.
As for compile-time optimizations, I recommend the following:
CFLAGS = -march=cpu_type -Os -pipe -fomit-frame-pointer
That will optimize for small-size binaries and minimal RAM usage. I recommend the -Os optimization for the vast majority of applications, most of which are not CPU-intensive. That includes WMs, DEs, word-processors, spreadsheets, internet browsers, e-mail programs, GIMP, etc. I recommend -O2 for things which are CPU-intensive, like video/sound players, video/sound encoders, DNA/AA sequence alignment, and bayesian phylogenies.
Make sure to
man gcc
So you know what your doing. Hint: once you hit a certain point with optimization, you can't have it both ways. Higher levels of optimization involve trading a memory/speed tradeoff, and you can go one way or the other. As I suggested before, I suggest memory optimizations for non-CPU intensive programs (the one's you'll probably be using all of the time, thus which'll be clogging up your memory); and speed optimizations for CPU-intensive programs, which you probably won't use as much.
social sciences can never use experience to verify their statemen
How much performance increase are we talking here? Faster startup times? Better response times? Perceived better response?
There's no reason to work hard without knowing what the benefits are. For that matter, say I do all this and it doesn't seem to work any faster. How do I know if I did something wrong, or if there is nothing to measure?
2 dashes and a space, or just 2 dashes?
You confuse objprelink with the real prelink.
To be more accurate, prelinking allocates each library a unique location in virtual address space and then stores the precalculated GOT (or is it the PLT) in a new section in the binary. That means you only need to do a few links, instead of a lot (due to the ELF fixup semantics, sometimes you get conflicts which must always be linked at runtime).