Marshalling/unmarshalling costs
Jim Gettys
jg at laptop.org
Mon May 19 22:12:59 EDT 2008
First step: data to see if there is a problem.
If no problem; stop.
If problem; fix...
;-).
DBUS, btw, does not have to be inefficient; the wire protocol is sane
(distinguishing it from Corba, for example). What Python does on the
way to the wire is a different question.
- Jim
On Tue, 2008-05-20 at 10:06 +1200, Martin Langhoff wrote:
> Looking at the datastore code, I suspect that a good chunk of our
> time is going into unmarshalling/marshalling data that we send over
> D-Bus.
>
> Has anyone looked at this at all? Any facts to support/dispel what is
> basically a gut-feeling?
>
> D-Bus is a nice IPC, for sure (yummy syntactic sugarfor ye olde
> socket), but in the bits of code I've looked at, it seems like we are
> using it to pass actual data. Ooops! Marshalling/unmarshalling costs
> in cpu and memory for any sizable data are murder.
>
> What D-Bus is designed for - with all its transparent
> marshal/unmarshal magic - is sending easy-to-use signals, with perhaps
> a tiny bit of data as payload. But unbound data needs to be dealt with
> via other means - let the D-Bus message point to where the actual data
> is.
>
> cheers,
>
>
>
> m
--
Jim Gettys <jg at laptop.org>
One Laptop Per Child
More information about the Devel
mailing list