Hi Folks, I'd like to solicit some ideas regarding $SUBJECT.
I'm thinking we could take an approach similar to what is done on the C++ broker tests now. That is we should develop a set of "native" send and receive programs that can be used to profile various performance characteristics (msgs/sec with varying size, header content encode/decode etc). By "native" I mean implementations in Java and C. I've hacked our C "send" and "recv" examples to provide a rough swag a measuring msgs/sec performance. I use these to double check that any changes I make to the proton C codebase do not have an unexpected impact on performance. This really belongs somewhere in our source tree, but for now you can grab the source here: https://github.com/kgiusti/proton-tools.git We do something similar for the QPID broker - simple native clients (qpid-send, qpid-receive) that do the performance sensitive message generation/consumption. We've written python scripts that drive these clients for various test cases. If we follow that approach, not only could we create a canned set of basic benchmarks that we could distribute, but we could also build inter-opt tests by running one native client against the other. E.g. C sender vs Java receiver. That could be a useful addition to the current "unit" test framework - I don't believe we do any canned interopt testing yet. Thoughts? -K
