[Twisted-Python] ANN: Twisted DBus 1.0

Tom Cocagne tom.cocagne at gmail.com
Tue Jul 3 10:03:41 MDT 2012


No, I haven't compared it to GDbus. I would certainly expect it's
performance to be better though. it's been a long time since I've used
PyGTK. Honestly, I'd completely forgotten about it. I'll give it a
look.

Tom

On Tue, Jul 3, 2012 at 10:28 AM, Jasper St. Pierre
<jstpierre at mecheye.net> wrote:
> On Tue, Jul 3, 2012 at 2:08 AM, Tom Cocagne <tom.cocagne at gmail.com> wrote:
>> For anyone interested in taking a look, I've just released a
>> native-Python implementation of the DBus protocol for Twisted. The
>> intent of the implementation is to provide Twisted applications with a
>> full-featured DBus API that is consistent with the rest of the
>> framework and does not require the use of the glib reactor or libdbus
>> Python bindings.
>>
>> The project is currently hosted on github and has a pypi entry:
>>
>> https://github.com/cocagne/twisted_dbus
>>
>> http://pypi.python.org/pypi/twisted_dbus/1.0
>>
>> Notes on the implementation:
>>
>> * A comprehensive tutorial and DBus protocol overview is included in
>> the project documentation
>> * Although the release version is set at 1.0, the project should be
>> considered Beta quality as it has seen little real-world use
>> * Unit test coverage is at about 98%
>> * The code adheres to the Twisted coding standards
>> * Windows is currently not supported (likely a trivially easy task but
>> as yet unexplored)
>> * Full, generated API documentation is possible but burnout/apathy set
>> in before I figured out how to properly use Twisted's documentation
>> generator
>> * The implementation includes a basic DBus server implementation but,
>> currently, it's only intended to serve as an alternative to the native
>> DBus server when running the unit tests.
>>
>> Notes on Performance:
>>
>> * For a pure-python solution the performance is really quite good.
>> * On the CPython interpreter, this implementation runs at about about
>> 1/3 to 1/5th the speed of the libdbus bindings.
>
> Did you compare to GDBus? I'm just curious, as David has been excited
> about performance improvements there.
>
>> * On the PyPy interpreter, this implementation runs at about the same
>> speed as the libdbus bindings
>> * Surprisingly enough, the bottleneck does not appear to be in the
>> marshalling/unmarshalling routines. Simply compiling the dbus
>> marshalling module with Cython yielded a 10x increase in marshalling
>> performance but this translated into only a minor overall performance
>> improvement. If anyone adept at Python/Twisted profiling would care to
>> take a look, assistance in this area would be most welcome.
>>
>>
>> - Tom Cocagne
>>
>> _______________________________________________
>> Twisted-Python mailing list
>> Twisted-Python at twistedmatrix.com
>> http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
>
>
>
> --
>   Jasper
>
> _______________________________________________
> Twisted-Python mailing list
> Twisted-Python at twistedmatrix.com
> http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python




More information about the Twisted-Python mailing list