D-Bus Performance: Observations and Solutions

Session information has not yet been published for this event.

Scheduled: Thursday, September 8, 2011 from 11:40am – 12:30pm in Alexander Valley Ball Room

One Line Summary

Results of performance analysis of D-Bus, with suggestions for improvement.


D-Bus is a software framework for inter-process communication. It is used by Avahi, BlueZ, Evolution, libffado, gconf2, HAL, GNOME VFS, NetworkManager, oFono, Rhythmbox, Tracker, and others.

This is a presentation of the results of a thorough performance analysis of D-Bus. Collabora has constructed numerous metrics of D-Bus performance, and we present those metrics in opposition to related, non-D-Bus performance metrics. We measure context switch time, message send latency, message throughput, process priority issues, and process scheduling behaviour resulting from the D-Bus architecture.

Serious performance flaws were discovered, with their causes. The solutions are not simple.

As one solution to the problems, we propose multicast Unix domain sockets. We also present alternate solutions.


  • Robin Bate Boerop



    Robin is a software developer who specializes in performance analysis, memory management, concurrency control, Haskell programming, and C++ development. He works for Collabora (Canada) Ltd.