qpid-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ted Ross <tr...@redhat.com>
Subject Re: Recommended API for Python?
Date Fri, 03 Jun 2011 18:58:01 GMT
On 06/03/2011 02:02 PM, Anthony Foglia wrote:
> What are the differences between the three Python APIs?  There are (at 
> least) 3 APIs:
>
> 1. qpid package
>   This was the first API we used, based on some examples in a two year 
> old blog post.
> 2. qpid.messaging package
>   This one more closely resembles the C++ API, and from playing 
> around, appears to have more knobs, like setting the receiver capacity.
> 3. SWIG api
>   This one is a wrapping of the C++ library, but unfortunately is 
> nowhere near a drop in replacement for the qpid.messaging API.  Also, 
> in my simple timings (of a consumer with receiver capacity of 1000, 
> asynchronous acknowledging receipts in batches of 10000), I didn't see 
> any performance gains compared to the qpid.messaging library.
>
> What is the consensus suggestion for a new project requiring 
> high-throughput?
>
API (1) was the original interface for AMQP version 0-10.  This API has 
a fairly tight coupling to the underlying AMQP protocol and commands.

API (2) was introduced to provide a more abstract interface that will 
allow applications to transition to the upcoming 1.0 version of the AMQP 
protocol.  This is the API that we recommend that you use.

API (3) is a literal/mechanical binding of the C++ API in Python.  Our 
intent is to provide a thin Python wrapper around this binding that is a 
drop-in replacement for API(2).  The benefits of this API are that all 
of the features of the C++ API are made available via Python (RDMA 
transport, full SASL auth/security support, future features, etc.).  I 
would also expect the wrapped API to perform better than the pure-Python 
API.  I find it surprising that you're not seeing this.

Regards,

-Ted




---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:users-subscribe@qpid.apache.org


Mime
View raw message