I’ve found a significant performance difference using Qs between Java and CMS/C++ consumers.
Environment: Windows 2008R2, Opteron @ 2.4GHz (lots of cores) Everything is 64-bit: JDK 1.7.0_02 & C++ compiled with VS.NET 2010 (as Release/x64) ActiveMQ V5.7.0: persistent=false, queue: prioritizedMessages=false, producerFlowControl=false, optimizedDispatch=true vmQueueCursor Consumer: Java (from V5.7.0), CMS/C++ (v3.4.0, snapshot V3.5.0 and trunk **all** exhibit the problem) prefetch=1 ack=client_acknowledge I have dummy consumers in both cases. Each introduces a sleep/wait. I tested with 0ms and 3ms. Test #1: 0ms wait, 1x consumer Java = ~15,256 messages/second C++ = ~4,173 messages/second Test #2: 3ms wait, 1x consumer Java = ~328 messages/second (this is good, almost the theoretical maximum) C++ = ~64 messages/second (this is awful) Two problems: Problem #1: with the 0ms case, C++ performance is significantly worse. Problem #2: with the 3m case, C++ is **limited** to 64 messages a second. What’s interesting, is that you can increase the # of consumers (to 16, 32, etc) and **still** get ~64 messages/second Any ideas why CMS is so much slower? Many thanks! Sean -- View this message in context: http://activemq.2283324.n4.nabble.com/Testing-Java-vs-CMS-C-consumer-CMS-is-much-slower-any-ideas-please-tp4659653.html Sent from the ActiveMQ - User mailing list archive at Nabble.com.