I re-worked the sample test code that Stefan posted so I could use it to test my changes. I'm not sure really how to turn this in to a unit-test, since it's simply an implementation evaluation test tool, and not really a validation test. Anyway, I had to change to use high-resolution timers, because the DateTime.Now timer is only accurate to within 10-milliseconds. The margin of error is too great for this type of time test. Here is the modified source file: http://www.nabble.com/file/p19208717/nmsspeedtest.cs nmsspeedtest.cs . (Caveat: this code will only work with my dev build due to the patches I have made to it, but not checked in. If the changes look good, then this code will work after I commit them.)
Here are the results from running the same test scenario multiple times with different URI connections. I am sure this could be formatted very effectively into a spreadsheet to make the comparisons easier to make. Scenario: tcp://localhost:61616 Test 0 Request message sent 7.416 Request message recv 23.886 Reply message sent 189.227 Reply message recv 203.935 Test 1 Request message sent 93.864 Request message recv 108.159 Reply message sent 312.878 Reply message recv 313.595 Test 2 Request message sent 217.790 Request message recv 218.346 Reply message sent 436.549 Reply message recv 437.026 Test 3 Request message sent 327.617 Request message recv 328.142 Reply message sent 546.322 Reply message recv 546.811 Test 4 Request message sent 218.215 Request message recv 218.910 Reply message sent 436.943 Reply message recv 437.724 Scenario: tcp://localhost:61616?wireformat.TcpNoDelayEnabled=true Test 0 Request message sent 0.917 Request message recv 1.538 Reply message sent 193.286 Reply message recv 194.667 Test 1 Request message sent 217.301 Request message recv 217.859 Reply message sent 326.716 Reply message recv 327.204 Test 2 Request message sent 218.146 Request message recv 218.704 Reply message sent 436.883 Reply message recv 437.368 Test 3 Request message sent 218.257 Request message recv 218.806 Reply message sent 437.070 Reply message recv 437.551 Test 4 Request message sent 218.213 Request message recv 218.759 Reply message sent 436.799 Reply message recv 437.330 Scenario: tcp://localhost:61616?wireformat.TcpNoDelayEnabled=true&transport.TcpNoDelayEnabled=true Test 0 Request message sent 0.927 Request message recv 1.664 Reply message sent 2.787 Reply message recv 4.380 Test 1 Request message sent 2.893 Request message recv 3.137 Reply message sent 3.998 Reply message recv 4.451 Test 2 Request message sent 0.740 Request message recv 1.505 Reply message sent 2.392 Reply message recv 3.129 Test 3 Request message sent 0.892 Request message recv 1.560 Reply message sent 3.860 Reply message recv 4.113 Test 4 Request message sent 1.944 Request message recv 2.286 Reply message sent 3.296 Reply message recv 3.973 Scenario: tcp://localhost:61616?transport.TcpNoDelayEnabled=true Test 0 Request message sent 0.872 Request message recv 1.488 Reply message sent 2.360 Reply message recv 316.090 Test 1 Request message sent 1.167 Request message recv 1.879 Reply message sent 2.810 Reply message recv 327.778 Test 2 Request message sent 1.000 Request message recv 1.714 Reply message sent 2.591 Reply message recv 328.174 Test 3 Request message sent 1.012 Request message recv 1.614 Reply message sent 2.534 Reply message recv 328.014 Test 4 Request message sent 1.184 Request message recv 2.145 Reply message sent 3.108 Reply message recv 327.948 Scenario: tcp://localhost:61616?transport.FlushOnSend=false Test 0 Request message sent 0.929 Request message recv 1.482 Reply message sent 186.404 Reply message recv 310.162 Test 1 Request message sent 208.501 Request message recv 209.045 Reply message sent 422.967 Reply message recv 437.409 Test 2 Request message sent 204.270 Request message recv 218.588 Reply message sent 423.038 Reply message recv 437.158 Test 3 Request message sent 204.557 Request message recv 218.779 Reply message sent 423.333 Reply message recv 423.817 Test 4 Request message sent 218.128 Request message recv 232.447 Reply message sent 546.299 Reply message recv 546.842 Scenario: tcp://localhost:61616?transport.FlushOnSend=false&wireformat.TcpNoDelayEnabled=true Test 0 Request message sent 0.923 Request message recv 1.492 Reply message sent 197.586 Reply message recv 198.975 Test 1 Request message sent 107.992 Request message recv 108.498 Reply message sent 326.686 Reply message recv 327.163 Test 2 Request message sent 218.160 Request message recv 218.718 Reply message sent 436.868 Reply message recv 437.356 Test 3 Request message sent 218.434 Request message recv 219.241 Reply message sent 436.955 Reply message recv 437.511 Test 4 Request message sent 108.951 Request message recv 109.811 Reply message sent 327.641 Reply message recv 328.263 Scenario: tcp://localhost:61616?transport.FlushOnSend=false&wireformat.TcpNoDelayEnabled=true&transport.TcpNoDelayEnabled=true Test 0 Request message sent 1.541 Request message recv 1.772 Reply message sent 2.780 Reply message recv 4.172 Test 1 Request message sent 2.715 Request message recv 2.944 Reply message sent 3.763 Reply message recv 4.260 Test 2 Request message sent 3.308 Request message recv 3.549 Reply message sent 4.516 Reply message recv 5.018 Test 3 Request message sent 3.625 Request message recv 3.847 Reply message sent 4.795 Reply message recv 5.251 Test 4 Request message sent 2.847 Request message recv 3.063 Reply message sent 3.894 Reply message recv 4.393 Scenario: tcp://localhost:61616?transport.FlushOnSend=false&transport.TcpNoDelayEnabled=true Test 0 Request message sent 0.881 Request message recv 2.312 Reply message sent 3.592 Reply message recv 207.325 Test 1 Request message sent 1.180 Request message recv 4.225 Reply message sent 5.124 Reply message recv 218.459 Test 2 Request message sent 1.010 Request message recv 1.670 Reply message sent 2.613 Reply message recv 219.084 Test 3 Request message sent 3.590 Request message recv 3.829 Reply message sent 4.762 Reply message recv 218.286 Test 4 Request message sent 1.022 Request message recv 1.743 Reply message sent 2.655 Reply message recv 218.643 -- View this message in context: http://www.nabble.com/Slow-performance-of-NMS-api-compared-to-Java-tp19158553p19208717.html Sent from the ActiveMQ - User mailing list archive at Nabble.com.