From kde-devel Wed Apr 10 15:52:42 2002 From: Sean Pecor Date: Wed, 10 Apr 2002 15:52:42 +0000 To: kde-devel Subject: Application execution speed notes. X-MARC-Message: https://marc.info/?l=kde-devel&m=101845425119044 Hey folks, I'm attempting to establish what sort of performance improvements a user = can=20 achieve with KDE by compiling KDE and its dependencies w/ optimizations e= tc.=20 Right now the biggest perceived performance problem is the startup delay=20 which is pretty substantial for some applications. I want to avoid tempor= ary=20 hacks like objprelink.=20 On my machine, a Pentium 4 1.8ghz w/ 512mb 800mhz RDRAM, 80gb drive (hdpa= rm -t=20 reports 36mb/sec, hdparm -T reports 560mb/sec) here are some timed result= s=20 for many KDE applications with the "--help" command line. The time after=20 equal sign is the real elapsed time reported by the time command. Notes=20 follow the times so please read on. (compiled with gcc 2.95, -O3, with sharing enabled) /opt/kde3/bin/kodo --help =3D 0:00.21 /opt/kde3/bin/kappfinder --help =3D 0:00.22 /opt/kde3/bin/kblackbox --help =3D 0:00.22 /opt/kde3/bin/kaphorism --help =3D 0:00.23 /opt/kde3/bin/kjots --help =3D 0:00.29 /opt/kde3/bin/kmahjongg --help =3D 0:00.30 /opt/kde3/bin/kfax --help =3D 0:00.31 /opt/kde3/bin/kcalc --help =3D 0:00.32 /opt/kde3/bin/katomic --help =3D 0:00.33 /opt/kde3/bin/knotes --help =3D 0:00.34 /opt/kde3/bin/karm --help =3D 0:00.35 /opt/kde3/bin/kmines --help =3D 0:00.35 /opt/kde3/bin/kandy --help =3D 0:00.36 /opt/kde3/bin/kgeo --help =3D 0:00.36 /opt/kde3/bin/kiconedit --help =3D 0:00.36 /opt/kde3/bin/kfract --help =3D 0:00.37 /opt/kde3/bin/kdvi --help =3D 0:00.39 /opt/kde3/bin/kfind --help =3D 0:00.39 /opt/kde3/bin/kaddressbook --help =3D 0:00.40 /opt/kde3/bin/knode --help =3D 0:00.44 /opt/kde3/bin/kfouleggs --help =3D 0:00.45 /opt/kde3/bin/klauncher --help =3D 0:00.48 /opt/kde3/bin/kmenuedit --help =3D 0:00.48 /opt/kde3/bin/klipper --help =3D 0:00.49 /opt/kde3/bin/kdict --help =3D 0:00.50 /opt/kde3/bin/kcontrol --help =3D 0:00.52 /opt/kde3/bin/kbattleship --help =3D 0:00.57 /opt/kde3/bin/konqueror --help =3D 0:00.62 /opt/kde3/bin/kasteroids --help =3D 0:00.63 /opt/kde3/bin/kontour --help =3D 0:00.64 /opt/kde3/bin/kchart --help =3D 0:00.66 /opt/kde3/bin/kedit --help =3D 0:00.66 /opt/kde3/bin/kformula --help =3D 0:00.67 /opt/kde3/bin/kate --help =3D 0:00.67 /opt/kde3/bin/kivio --help =3D 0:00.68 /opt/kde3/bin/kmail --help =3D 0:00.69 /opt/kde3/bin/kword --help =3D 0:00.70 /opt/kde3/bin/kwrite --help =3D 0:00.70 /opt/kde3/bin/kbackgammon --help =3D 0:00.74 /opt/kde3/bin/kicker --help =3D 0:00.79 /opt/kde3/bin/kaboodle --help =3D 0:00.91 /opt/kde3/bin/korganizer --help =3D 0:00.94 Comparing kaboodle which takes 0.91 seconds to respond, with kappfinder w= hich=20 takes 0.22 seconds to respond via ldd is pretty telling. kaboodle loads e= very=20 library that kappfinder loads, plus the following which takes an addition= al=20 0.69 (!) seconds to load: kaboodle.so =3D> /opt/kde3/lib/kaboodle.so (0x40016000) libkaboodlepart.so =3D> /opt/kde3/lib/libkaboodlepart.so (0x40020= 000) libkparts.so.2 =3D> /opt/kde3/lib/libkparts.so.2 (0x4003b000) libartskde.so.1 =3D> /opt/kde3/lib/libartskde.so.1 (0x40075000) libkio.so.4 =3D> /opt/kde3/lib/libkio.so.4 (0x4009a000) libkdesu.so.4 =3D> /opt/kde3/lib/libkdesu.so.4 (0x405cb000) libutil.so.1 =3D> /lib/libutil.so.1 (0x407db000) libsoundserver_idl.so.1 =3D> /opt/kde3/lib/libsoundserver_idl.so.= 1 libkmedia2_idl.so.1 =3D> /opt/kde3/lib/libkmedia2_idl.so.1 (0x40f= d8000) libartsflow.so.1 =3D> /opt/kde3/lib/libartsflow.so.1 (0x41011000) libaudiofile.so.0 =3D> /usr/lib/libaudiofile.so.0 (0x410f3000) libartsflow_idl.so.1 =3D> /opt/kde3/lib/libartsflow_idl.so.1 libmcop.so.1 =3D> /opt/kde3/lib/libmcop.so.1 (0x4118d000) libasound.so.1 =3D> /usr/lib/libasound.so.1 (0x412b9000) libqtmcop.so.1 =3D> /opt/kde3/lib/libqtmcop.so.1 (0x407de000) I'm not sure what to make of the massive delay, other than I know that li= bkio=20 is huge (3 megs) and libartsflow and libmcop are each over 1 meg. Why so = big?=20 Is this bloat or just lots of efficient mandatory code?=20 Is this delay unavoidable with shared libraries? Static applications that= I=20 use open up much faster as do their dialogs. Once I re-compile everything (including KDE library dependencies) I'll ru= n my=20 benchmark script to see if things improve. Then next I'll recompile KDE w= ith=20 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=20 remain resident. For example, kate takes almost 1 seconds to open up a so= urce=20 file, but subsequent files open up instantly when kate is resident. It wo= uld=20 be cool if when I closed kate that the actual application just went to sl= eep=20 instead. Sean. --=20 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 <<