About performance of D-Bus

Kalle Vahlman kalle.vahlman at gmail.com
Tue Nov 4 08:42:14 PST 2008

2008/11/4 Jerome Philbert <jerome.philbert at gmail.com>:
> 100ms / 4.7ms = 21 messages only
> Moreover, this is the ideal case where the CPU has nothing else to do than
> sending messages ...
> In the reality, the CPU has lots'of things to do, so I could never send up
> to 21 messages.

For future reference:

Intel Core 2 Duo @ 4GHz, D-Bus 1.0.2
** (process:26770): DEBUG: 100000 calls in 15.4960s, 6453.277708 calls/s

ARM Cortex-A8 @500MHz (BeagleBoard), D-Bus 1.1.20
** (process:5637): DEBUG: 100000 calls in 122.5924s, 815.711205 calls/s

ARM9 @ (I think) 220MHz (Nokia 770), D-Bus 1.1.20
** (process:1654): DEBUG: 100000 calls in 413.5156s, 241.828831 calls/s

The test is to send synchronously an empty method_call to the service
which replies with an empty method_reply.

That's quite many more than 21, though granted that the numbers are
from a idle machine. I'll try sending ints and strings as payload
next, let's see what happens.

The idle vs active question is IMO somewhat moot, as that problem is
always present, even if your messaging was faster than light. The only
way to ensure responsivity in any situation is either to be the only
process or with the highest priority and even then it may fail...

Kalle Vahlman, zuh at iki.fi
Powered by http://movial.fi
Interesting stuff at http://syslog.movial.fi

More information about the dbus mailing list