Google "Protocol buffers" over D-bus?

Ville M. Vainio vivainio at
Sat Sep 19 12:30:08 PDT 2009

Google "protocol buffers", in case you haven't heard of them, are
basically a way to encode struct-like data in binary form, coupled
with an IDL-ish description language & code generators.

Now, I'm thinking of the performance implications of passing
protobuf-encoded byte blocks as (complex) arguments for (and return
values to) dbus methods. This may, or may not, lead to bandwidth
improvements over just using the usual dbus stuff
(dbus_message_iter_append_basic, ...), while still retaining the
convenient dbus semantics (service discovery/naming, activation,
method call semantics...) - but with simpler transition to, say, using
local/internet sockets if it appears necessary.

So I'm asking - has someone already benchmarked this? Can you squeeze
more data in one dbus invocation using protobufs without hitting
buffer limit? How about serialization speed/size for complex objects?
Code complexity implications?

Ville M. Vainio

More information about the dbus mailing list