[Tracker] IPC performance analysis



Hi there,

Because we have started thinking about better ways to do IPC with our
beloved client applications, we're investigating options.

Among the options is a direct connection with the SQLite database, which
will involve a custom page cache implementation and/or a custom VFS
layer for SQLite. We plan to enable this to processes that have a by the
kernel set priority (like SCHED_IDLE), but investigation whether this
can be opened to _all_ clients is ongoing.

Work on this happens on this branch:

http://git.gnome.org/browse/tracker/log/?h=sqlite-batch-locking

Another track that we're following is implementing our own custom IPC.

The measurements Adrien Bustany made compare D-Bus with a optimized
custom UNIX domain socket mechanism.

The conclusion is that with a custom UNIX domain socket mechanism we can
come nearby optimal performance (which means the performance you'd get
if you wouldn't have any IPC at all).

http://git.mymadcat.com/index.php/p/ipc-performance/source/tree/master/report/report.odt

http://pvanhoof.be/blog/index.php/2010/05/13/ipc-performance-the-report

All this stuff is reproducable, opensource, and the measurements scripts
and spreadsheet data are also available at this location:

http://git.mymadcat.com/index.php/p/ipc-performance/source/tree/master/

Or if you're more like "Comon! I want to code, now!!"

git clone git://git.mymadcat.com/ipc-performance 


Cheers,

Philip

-- 


Philip Van Hoof
freelance software developer
Codeminded BVBA - http://codeminded.be




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]