KDE4 Development Critical Path

Guillaume Laurent glaurent at telegraph-road.org
Fri Mar 17 17:44:22 GMT 2006


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 
: http://rikkus.info/sysv_ipc_vs_pipes_vs_unix_sockets.html#conclusion - 
I've also seen this in a design article about JACK or LADSPA some time 
ago (couldn't find the ref).

So would the thread context switching overhead compensate the 
performance gain, I don't know. But in any case I doubt whatever 
performance gain we'd get would be worth the loss in reliability.

-- 
Guillaume
http://telegraph-road.org





More information about the kde-core-devel mailing list