[prev in list] [next in list] [prev in thread] [next in thread] 

List:       zeromq-dev
Subject:    Re: [zeromq-dev] performance issue in zmq_proxy_steerable()
From:       "Claudio U." <retmt () gmx ! com>
Date:       2019-03-04 10:51:27
Message-ID: trinity-a0132b0f-a2a2-45ad-a308-5b406b97ea2e-1551696687070 () 3c-app-mailcom-bs12
[Download RAW message or body]

[Attachment #2 (text/html)]

<html><head></head><body><div style="font-family: Verdana;font-size: 12.0px;"><div>Hi \
Doron,</div>

<div>&nbsp;</div>

<div>
<div>&gt; You cannot throttle the getsockopt&nbsp;of ZMQ_EVENTS.</div>

<div>&gt; As you should only throttle from within recv&nbsp;&amp; send.</div>

<div>&nbsp;</div>

<div>&gt; My suggestion is, to write the proxy code by hand, the trick to get maximum \
performance is to call zmq_recv with DONT_WAIT flag until you get EAGAIN.</div>

<div>&gt; So when the zmq_poll signal that a socket is ready for reading you read as \
much as you can.</div>

<div>&gt; That way, you don&#39;t call the process_commands as often.</div>
</div>

<div>&nbsp;</div>

<div>
<div>I will patch the zmq code to use the zmq_recv with DONT_WAIT in the forward() \
function.<br/> But in your opinion what should be done when the output socket (named \
to_ in the source code) is touching the HWM and exiting with EAGAIN? Should I keep \
retrying the send() until it is successful?</div>

<div>Moreover I am trying to implement a benchmark utility of the proxy throughput to \
keep track of the performance enhancement (if any). Do you think this could be a \
useful addition in libzmq/perf ? I see there are not benchmarks for zmq \
proxy...</div>

<div>&nbsp;</div>

<div>Regards,<br/>
Claudio</div>

<div>&nbsp;</div>
</div></div></body></html>



_______________________________________________
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
https://lists.zeromq.org/mailman/listinfo/zeromq-dev


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic