[Thunar-dev] Dependences and IPC in Thunar

Benedikt Meurer benny at xfce.org
Sun Nov 12 22:00:06 CET 2006


Mindaugas wrote:
> Hello,
> [here is a continuation of discussion started in Bug #2509]

Yes, but I said, use the mailinglist.

>> As said, that'd be overhead (-> maintaince). D-Bus is there as standard
>> lightweight desktop IPC framework. There's no need to support different IPC
>> mechanisms.
> I did not asserted that using D-Bus is wrong in general. I do not know how
> wide XFce uses D-Bus, but XFce 4.2.3.2 (in same Slackware) is working
> just fine without D-Bus. I do not know which features of D-Bus uses Thunar,
> but without D-Bus, it works quite fine, except those refreshes posted in
> Bug #2509.
> In this situation, for that window refresh, I would prefer SysV IPC from the
> C library, rather than D-Bus.

We're not talking about Xfce 4.2. SysV IPC is considered obsolete, and
using both D-Bus and other IPC mechanisms is unnecessary overhead. I
don't get why you want that additional overhead.

>> It has nothing to do with desktop apps, but it's a general fact: If you
>> duplicate functionality, you'll have overhead. So, what's easier on
>> resources: (a) every application implements it's own IPC or (b) all
>> applications use D-Bus?
> Well, looking at this concrete window refresh situation, I would not call a
> combination of msgsnd()/msgrcv() neither overhead, nor duplication of complex
> functionality.
> a) I would agree if it would be a complex and necessary implementation of IPC.
> b) I would strongly agree if really all or at least many applications would
> use D-Bus. But as mentioned, there are cases when D-Bus is not used at all,
> because it is simply not needed.

We're not talking about a specific "window refresh" command. You should
really have a look at the source.

BTW: I already told you that the kernel can notify applications about
such changes in the file system. Install Gamin/FAM.

>> Dependencies = less overhead in most cases. Imagine, you'd link all
>> applications statically. That means no dependencies. Juhu. So, it's
>> lightweight, right?... Well, of course not.
> Please do not understand me incorrect, I did not asserted that using
> dependences is wrong. Here is the essential point - dependences should be
> choosed in rational way. Huge amount of third party dependences, used by
> single applications is neither convenient, nor usable. I would not call it
> "less overhead", when installation of application costs 10x bigger amount of
> nobody used and nobody needed dependences. There are too much and too
> useless.
> Anyway, there are different point of views and different user bases. In this
> case, one could raise a question, how XFce goals differs from Gnome or KDE...

Dude, again: What is less overhead: Reimplementing stuff 10 times or
using a shared lib that can be mmap()'ed in 10 processes? This is an
essentional point in modern software engineering; it's even more
important from the maintaince POV.

>> As said, this is something that most people don't get, and as such it's
>> stated very often and so people joining the Linux/Unix communities raise up
>> with the belief that less dependencies mean less wasted resources.
> Maybe. But I think we are talking about user needs and point of view into the
> architecture of both the application and system. And seems you forget old,
> conservative rationalists in these communities ;)

If "users need" lightweight and stable applications then code reuse and
less wasted resources look way more promising, don't you think so?

Benedikt



More information about the Thunar-dev mailing list