KDE4 Development Critical Path

Esben Mose Hansen kde at mosehansen.dk
Fri Mar 17 20:31:17 GMT 2006


On Friday 17 March 2006 18:44, Guillaume Laurent wrote:
> Alexander Neundorf wrote:
> > On Wednesday 15 March 2006 11:01, Guillaume Laurent wrote:
> >> Threads and processes are not equivalent and have different usages, and
> >> kioslaves are much more a job for processes than threads, IMHO. All they
> >> need to do is to feed back a data stream to their parent, they do not
> >> need to access the parent's data, and they are relatively short lived.
> >> Turning kioslaves into threads would be a huge mistake. I can't see any
> >> added benefit (not even performance), but it will introduce endless
> >> reliability problems.
> >
> > For most ioslaves this is right.
> > How about the file ioslave ?
> > It doesn't have to talk over an complicated protocol. It transfers large
> > amounts of data from a very fast source (harddisk). Being able to do this
> > without having to push the data through a pipe could probably be a
> > noticable performance boost.
>
> Without some hard data to confirm or infirm this, I wouldn't make any
> conclusions. The fact is that pipes are as fast as an IPC scheme can get

Also, remember that using a shared data area between two threads would require 
some sort of lock, probably a semaphore. Such locking mechanism usually 
negate any speed advantage such a solution would have and/or introduces a lot 
of complexity with the potential for deadlocks etc. 

I agree that processes are the right multitasking technique for ioslaves. For 
what it is worth :)

-- 
Esben






More information about the kde-core-devel mailing list