[ale] Fwd: [kde-linux] The Need for Speed!
Jim Philips
jimmyc at speedfactory.net
Mon Apr 18 19:41:06 EDT 2005
Anybody running KDE on SuSE or Fedora may be interested in this. I'm reposting
from the kde-linux list.
---------- Forwarded Message ----------
Subject: [kde-linux] The Need for Speed!
Date: Monday 18 April 2005 05:40 pm
From: Andrew Kar <akar3d at yahoo.com.au>
To: kde-linux at mail.kde.org, kde at mail.kde.org
A lot of readers will be familiar with the great increases in speed in KDE
3.3 / 3.4 on recent releases of Suse and Fedora Core.
Apart from the excellent work by the KDE people a lot of this increase is
that prelinking has been merged into the kernel/linker/OS. This is the
fruition of work which started yonkers ago at which time KDE was aware of a
speed bottleneck in the way that elf executables/libraries were linked which
particularly affected C++ programs (which is why Gnomes C apps used to be
faster). Leon Boltou did some excellent work with object prelinking which
was quickly adopted into kde until the real solution devised byJakub Jelinek
could be implemented at the OS level. Anyhow that has been done and it
works real well.
The 2nd thing that Fedora does (following standard MS windows technique) is
to read ahead common files so that they are are ready when needed. It does
that in two phases 1) an early readahead that load things that the OS needs
and a second readahead for the GUI runlevel that preloads most apps and
libraries.
I noticed that the /etc/prelink.conf file contained a lot of junk which I
removed as well leaving only the blacklist files and a simple;
/bin
/lib
/usr/bin/
/usr/lib/
/usr/X11R6/bin
/usr/X11R6/lib
because otherwise it would mention trees twice; it included /usr/lib/kde for
example which is already covered by /usr/lib and who knows what effect two
lots of prelink info with different virtual memory allocations would do.
I then ran prelink -afmhv which forces a new table and allows overlapping for
libs that are never loaded together resulting in a much smaller virtual mem
space.
The real killer though was the readahead file. I dont know how the Fedora
team messed this up but I dont use any auto updates scheme at all yet this
file was FULL of the wrong version numbers of files and libraries making it
practically redundant.
Since I dont use Gnome and didnt want its libs and apps filling up space that
linux could better utilise for KDE and my instant app-start gratification I
populated the readahead rather crudely with dir listings off apps that
started with 'k' the whole contents of /usr/lib/kde and any k* and libk*
stuff from /usr/lib as well as any commom apps and libs that I use.
The result of all the above after rebooting?
A desktop at least 30-40% faster although subjectively it feels at least
twice as fast and is certainly far more responsive than XP.
For those worried about the concept of preloading, linux has always utilised
almost ALL available memory rather than let it sit there going to waste. This
merely forces linux to allocate it more how you want it in a more user
efficient way rather than linux keeping it as a disk cache or whatever.
These are the techniques windows has always used in order to achieve its
responsiveness except windows goes even further to another method we should
look at which is to watch how an app loads itself and its libraries and then
restructure its on disk form for maximum load speed.
Anyhow I hope this info is of use to some of you. If your distro does not
have readahead I see no reason why it cant be added. Prelinking is another
matter though as AFAIK both the linker tools and the kernel need to support
it. It is actually part of a package called kernel utilities If I recall
correctly. Note also that KDEINIT should be disabled and not used if using
prelinking. Both Suse and Fedora take care of this with environment
variables.
--
regards,
andrew
___________________________________________________
This message is from the kde-linux mailing list.
Account management: https://mail.kde.org/mailman/listinfo/kde-linux.
Archives: http://lists.kde.org/.
More info: http://www.kde.org/faq.html.
-------------------------------------------------------
More information about the Ale
mailing list