On 12/08/2011 02:02 PM, Fraser Adams wrote:
Hi again Ted,
Actually there's one other thing that you may be able to help with (since you
clearly know about flow-control).

There's a little side project I'm working on when I get bored with the QMF stuff
where I'm looking at differences between the C++ qpid::client and
qpid::messaging APIs

So it's clear that the Qpid team are keen to deprecate the qpid::client API in
favour of qpid::messaging, which on face value seems really sensible given that
qpid::messaging is much simpler, abstracts away from the AMQP version and allows
Address strings to be shared (easy to test something in Java and run it live on
C++).

The issue that I have with this strategy relates to performance. So for example
I can use qpid-perftest to give the broker "a good hard kicking".

Now I've somewhat pulled qpid-perftest apart to distil the essence with the aim
of doing some direct comparisons. My problem is that I'm finding it really hard
to optimise qpid::messaging to the same extent as qpid::client has been for
qpid-perftest. My view is that it's not great to deprecate ::client until it can
be proved that ::messaging has the same (or better) performance - does that seem
a fair observation?

There are some new test clients written to the new API: qpid-send, qpid-receive and qpid-cpp-benchmark (which orchestrates multiple qpid-send/receive clients) I did some testing around the time we released the new API and got comparable performance. You need to tweak a few values to get a fair comparison with perftest. I compared:

qpid_cpp_benchmark --receive-option link:{reliability:unreliable} --repeat 5 --messages 100000 --no-timestamp

perftest --count 100000 -s

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:[email protected]

Reply via email to