[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-devel
Subject:    Re: Regarding KDE 4
From:       Ulrik Mikaelsson <rawler () rsn ! bth ! se>
Date:       2004-07-02 11:44:17
Message-ID: 200407021344.20048.rawler () rsn ! bth ! se
[Download RAW message or body]

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Thursday 01 July 2004 22.48 skrev Alexander Neundorf:
> What should be improved by multi-threading ? (maybe an in-process file
> ioslave...)
Multithreading is all about performance. As I see it, multithreading lowers 
user-feedback latency and boosts performance on burst-I/O such as KDE:s 
reading config-files, reading Icons, and other small files at high rate.
A while ago, I ran some little experiments on file I/O. I started out by 
observing the average startup of KWrite. On my machine under those 
circumstances, during the startup of KWrite, about 300 different files 
open()-ed. When the I/O cache were out of order, (Just copy a file larger 
than your main-memory, and the I/O cache will be completely wasted, unless 
possibly if you run XFS.) this process took about 3 seconds.

I then wrote a small C-program with the only purpose to try to open the same 
files, serially without multi-threading. Under the same conditions my program 
ran about 400 milliseconds faster than the KWrite startup. I then rewrote the 
program to instead use 10 simultaneous threads that helped read the files. 
The total execution-time were reduced to just a third of the original numbers 
(!) To this I might add, that at the time I did not use the true kernel-space 
LinuxThreads, but an old user-space thread-implementation. LinuxThreads would 
probably improve the numbers even more, and furthermore my application did 
not process the files contents at all. In cases where some kind of 
CPU-demanding processing of content is done (render an SVG-icon, perhaps?), 
threading improves performance even more.

> Well, the best thing you can do you KDE 4 is help even more improving its
> code base :-)
I would, if I had enough time between work, school, and all other little 
projects I've managed to get messed up in between AND if I knew something 
about which major decisions are going to go in KDE 4. I am not particularly 
happy about writing code that will be obsolete and removed in the next 
version anyways. ;)

Regards
/ Ulrik

- -- 
	"Do you believe in intuition?"
	"No, but I have a strange feeling that someday I will."
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)

iD8DBQFA5UqT069SELtZwIkRAi7xAJ9+b8iNDLP3w2gN9fZXiVCqJLZ1IQCfYv1Q
1wx4yINMhNvB2HVOBf5cOoc=
=4QVn
-----END PGP SIGNATURE-----
 
>> 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