[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-devel
Subject: Application execution speed notes.
From: Sean Pecor <sean () digitalspinner ! com>
Date: 2002-04-10 15:52:42
[Download RAW message or body]
Hey folks,
I'm attempting to establish what sort of performance improvements a user can
achieve with KDE by compiling KDE and its dependencies w/ optimizations etc.
Right now the biggest perceived performance problem is the startup delay
which is pretty substantial for some applications. I want to avoid temporary
hacks like objprelink.
On my machine, a Pentium 4 1.8ghz w/ 512mb 800mhz RDRAM, 80gb drive (hdparm -t
reports 36mb/sec, hdparm -T reports 560mb/sec) here are some timed results
for many KDE applications with the "--help" command line. The time after
equal sign is the real elapsed time reported by the time command. Notes
follow the times so please read on.
(compiled with gcc 2.95, -O3, with sharing enabled)
/opt/kde3/bin/kodo --help = 0:00.21
/opt/kde3/bin/kappfinder --help = 0:00.22
/opt/kde3/bin/kblackbox --help = 0:00.22
/opt/kde3/bin/kaphorism --help = 0:00.23
/opt/kde3/bin/kjots --help = 0:00.29
/opt/kde3/bin/kmahjongg --help = 0:00.30
/opt/kde3/bin/kfax --help = 0:00.31
/opt/kde3/bin/kcalc --help = 0:00.32
/opt/kde3/bin/katomic --help = 0:00.33
/opt/kde3/bin/knotes --help = 0:00.34
/opt/kde3/bin/karm --help = 0:00.35
/opt/kde3/bin/kmines --help = 0:00.35
/opt/kde3/bin/kandy --help = 0:00.36
/opt/kde3/bin/kgeo --help = 0:00.36
/opt/kde3/bin/kiconedit --help = 0:00.36
/opt/kde3/bin/kfract --help = 0:00.37
/opt/kde3/bin/kdvi --help = 0:00.39
/opt/kde3/bin/kfind --help = 0:00.39
/opt/kde3/bin/kaddressbook --help = 0:00.40
/opt/kde3/bin/knode --help = 0:00.44
/opt/kde3/bin/kfouleggs --help = 0:00.45
/opt/kde3/bin/klauncher --help = 0:00.48
/opt/kde3/bin/kmenuedit --help = 0:00.48
/opt/kde3/bin/klipper --help = 0:00.49
/opt/kde3/bin/kdict --help = 0:00.50
/opt/kde3/bin/kcontrol --help = 0:00.52
/opt/kde3/bin/kbattleship --help = 0:00.57
/opt/kde3/bin/konqueror --help = 0:00.62
/opt/kde3/bin/kasteroids --help = 0:00.63
/opt/kde3/bin/kontour --help = 0:00.64
/opt/kde3/bin/kchart --help = 0:00.66
/opt/kde3/bin/kedit --help = 0:00.66
/opt/kde3/bin/kformula --help = 0:00.67
/opt/kde3/bin/kate --help = 0:00.67
/opt/kde3/bin/kivio --help = 0:00.68
/opt/kde3/bin/kmail --help = 0:00.69
/opt/kde3/bin/kword --help = 0:00.70
/opt/kde3/bin/kwrite --help = 0:00.70
/opt/kde3/bin/kbackgammon --help = 0:00.74
/opt/kde3/bin/kicker --help = 0:00.79
/opt/kde3/bin/kaboodle --help = 0:00.91
/opt/kde3/bin/korganizer --help = 0:00.94
Comparing kaboodle which takes 0.91 seconds to respond, with kappfinder which
takes 0.22 seconds to respond via ldd is pretty telling. kaboodle loads every
library that kappfinder loads, plus the following which takes an additional
0.69 (!) seconds to load:
kaboodle.so => /opt/kde3/lib/kaboodle.so (0x40016000)
libkaboodlepart.so => /opt/kde3/lib/libkaboodlepart.so (0x40020000)
libkparts.so.2 => /opt/kde3/lib/libkparts.so.2 (0x4003b000)
libartskde.so.1 => /opt/kde3/lib/libartskde.so.1 (0x40075000)
libkio.so.4 => /opt/kde3/lib/libkio.so.4 (0x4009a000)
libkdesu.so.4 => /opt/kde3/lib/libkdesu.so.4 (0x405cb000)
libutil.so.1 => /lib/libutil.so.1 (0x407db000)
libsoundserver_idl.so.1 => /opt/kde3/lib/libsoundserver_idl.so.1
libkmedia2_idl.so.1 => /opt/kde3/lib/libkmedia2_idl.so.1 (0x40fd8000)
libartsflow.so.1 => /opt/kde3/lib/libartsflow.so.1 (0x41011000)
libaudiofile.so.0 => /usr/lib/libaudiofile.so.0 (0x410f3000)
libartsflow_idl.so.1 => /opt/kde3/lib/libartsflow_idl.so.1
libmcop.so.1 => /opt/kde3/lib/libmcop.so.1 (0x4118d000)
libasound.so.1 => /usr/lib/libasound.so.1 (0x412b9000)
libqtmcop.so.1 => /opt/kde3/lib/libqtmcop.so.1 (0x407de000)
I'm not sure what to make of the massive delay, other than I know that libkio
is huge (3 megs) and libartsflow and libmcop are each over 1 meg. Why so big?
Is this bloat or just lots of efficient mandatory code?
Is this delay unavoidable with shared libraries? Static applications that I
use open up much faster as do their dialogs.
Once I re-compile everything (including KDE library dependencies) I'll run my
benchmark script to see if things improve. Then next I'll recompile KDE with
static libraries to see what happens. I'll report back with my findings.
Another thought is that it would be nice if programs could be closed yet
remain resident. For example, kate takes almost 1 seconds to open up a source
file, but subsequent files open up instantly when kate is resident. It would
be cool if when I closed kate that the actual application just went to sleep
instead.
Sean.
--
Digital Spinner, Inc.
Cutting edge web design and applications development.
http://www.digitalspinner.com
Phone: 802.948.2020
Fax: 802.948.2749
>> Visit http://mail.kde.org/mailman/listinfo/kde-devel#unsub to unsubscribe <<
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic