Re: [g-a-devel] AT-SPI D-Bus investigation



On Mon, 2007-11-26 at 12:33 -0500, Aaron Leventhal wrote:
> Mark, thank you for the report.

Hi Aaron,

> The report says:
>  > D-Bus is faster than ORBit at sending an object reference but slower 
> at sending simple arguments.
> Some naive questions:
> Do we know why there is such a big difference? What can D-Bus do to 
> improve performance for simple arguments? If ORBit can be fast for 
> simple arguments, why can't D-Bus use the same technique?

They are not naive questions at all. I'm afraid that I'm not able to
answer them all.

Do note, The report is not yet complete. I intend to do some more tests
this week, both on GOK and a D-Bus / Orbit comparison over a more varied
set of method calls.

Finding out why D-Bus is slower than ORBit at the simple calls could be
an involved process. There is no intrinsic reason why it should be
slower than ORBit. 

Havoc Pennington talks about D-Bus performance at:
http://lists.freedesktop.org/archives/dbus/2007-October/008822.html

He makes a few points of interest, firstly all of the results posted
have been with each message being validated. I will try to post the
results without validation of the messages. The speedup I have seen with
this previously is about 20%. More importantly, we do not think that
D-Bus has had much optimisation work performed on it. As Havoc said, in
most cases the IPC mechanism isn't the most important factor for
application performance. Orca, itself may be different, it seems to be a
pretty heavy user. 

I think the reason ORBit is slower at passing object references is that
it marshals more complicated data. It seems to marshal a variable array
of IOP strings, as well as a type code in place of an object reference.
We decided that the equivalent of an Object reference in D-Bus was a bus
name and object path, which is simpler, and will be able to locate any
object attached to the bus. 

> 
> - Aaron

Thanks

Mark



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