[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#407849: Better preloadkde script that caches file contents



Hi!

It seems that simply preloading directory entries into cache is not
enough to gain any significant startup time improvements.

However, I've analysed what files are opened during KDE startup by
tracing open syscalls with "strace -f -F -eopen -o kdm_open.log -p
KDM_PID".

Then I've come up with the following KDE preload script:

<<< snip
#!/bin/sh
basedir=/usr/share
etcdir=/etc
libdir=/usr/lib
locale_langpackdir=/usr/share/locale-langpack
defprofiledir=/usr/share/kubuntu-default-settings/kde-profile/default
additional_dirs="/usr/share/python-support/kde-guidance"
find $etcdir/kde3 ~/.kde $basedir/applications \
   $basedir/applnk $basedir/mimelnk $basedir/services \
   $basedir/servicetypes $basedir/config \
   $basedir/icons /opt/kde3/ -fprint /dev/null
find $libdir/kde3 -type f -name '*.so' -print0 | xargs cat > /dev/null
find $locale_langpackdir -type f -print0 -name 'kde*' -or -name
'desktop_kde*' | xargs -0 cat > /dev/null
find $defprofiledir -type f -print0 | xargs cat > /dev/null
find $libdir/libkdecore* $libdir/libkdeinit_* $libdir/libkdeui* -type
f -print0 | xargs -0 cat > /dev/null
find $additional_dirs -type f -print0 | xargs -0 cat > /dev/null
<<< snap

I've tested it using the following procedure:

1) shutdown the machine to poweroff then start it, wait until KDM
screen come up, then a couple of seconds to let preload do its job
2) type in my password, then press Enter while launching the
stop-watch on my mobile at the same time
3) stop the stopwatch when the desktop background image shows up

Here are the results:

=================

Without preload:

1: 18.16 secs
2: 17.64 secs
3: 17.39 secs

=================

With preload:

1: 15.34 secs
2: 15.35 secs
3: 15.33 secs

=================

This gives at worst a decrease of 11,7% in KDE startup time - not very
much, but still noticeable.

One note: I've done this on Ubuntu Feisty. Sorry, I don't have a
Debian desktop at the moment.

Best Regards,
--
   Aleksander Adamowski
       GnuPG key ID 0x9693EE6B
       Jabber JID: olo@jabber.altkom.pl / GG#: 274614 / ICQ UIN: 19780575
       http://olo.org.pl/



Reply to: