<br>Meant to write:<br><br>should be at least:<br><br>throughput = (unsigned long)((double) message_count / (double) elapsed * (double)( 1024*1024));<br><br><br><div class="gmail_quote">On Mon, Feb 25, 2013 at 5:39 AM, A. Mark <span dir="ltr"><<a href="mailto:gougolith@gmail.com" target="_blank">gougolith@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br><br>I've done some extensive benchmarks using local_thr and remote and tcp in the last couple of months and found some odd things. This line is slightly wrong for the throughput calculation ( apart from the overflow):<div class="im">
<br>
<br>throughput = (unsigned long)((double) message_count / (double) elapsed * 1000000);<br>


<br></div>should be at least:<br><br>throughput = (unsigned long)((double) message_count / (double) elapsed * double( 1024*1024));<br><br>There are few more things to consider too that will effect performance, ZMQ_RCVBUF/ZMQ_SNDBUF/ZMQ_SNDHWM/ZMQ_RCVHWM.<br>


Also since ZMQ does buffering on the background : ZMQ_DELAY_ATTACH_ON_CONNECT can throw off your time measurement. With large buffers and many messages the programs will actually crash, as ZMQ runs out of memory queueing messages, I'm not sure if this is the intended behavior, but setting the HWMs  prevents that problem.<br>

<br>I had posted the corrections and improvements for the two programs earlier to the mail list. Here is the improved versions of the local_thr and remote_thr again if you care to try some other options. There is also an mt version of the server.<span class="HOEnZb"><font color="#888888"><br>

<br>Mark</font></span><div class="HOEnZb"><div class="h5"><br><br><br><div class="gmail_quote">

On Mon, Feb 25, 2013 at 4:32 AM, Erik Hugne <span dir="ltr"><<a href="mailto:erik.hugne@ericsson.com" target="_blank">erik.hugne@ericsson.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">So, i now realize that the bw figures are actually in _megabit_..<br>
and shortly after sending, obviously i found the problem.<br>
<br>
As i posted on IRC some moments ago:<br>
[13:33] <haze_> it's an overflow on this line<br>
[13:33] <haze_> throughput = (unsigned long)((double) message_count / (double)<br>
 elapsed * 1000000);<br>
[13:33] <haze_> in local_thr<br>
[13:33] <haze_> more specifically, (double) elapsed*1000000<br>
<div><div><br>
<br>
//E<br>
_______________________________________________<br>
zeromq-dev mailing list<br>
<a href="mailto:zeromq-dev@lists.zeromq.org" target="_blank">zeromq-dev@lists.zeromq.org</a><br>
<a href="http://lists.zeromq.org/mailman/listinfo/zeromq-dev" target="_blank">http://lists.zeromq.org/mailman/listinfo/zeromq-dev</a><br>
</div></div></blockquote></div><br>
</div></div></blockquote></div><br>