<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Feb 9, 2016 at 4:10 PM, Ameretat Reith <span dir="ltr"><<a href="mailto:ameretat.reith@gmail.com" target="_blank">ameretat.reith@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I think problem is not using or not using gen_server, It's mostly because just getting UDP packets in 1Gbit/s takes that much CPU in Erlang.</blockquote></div><br></div><div class="gmail_extra">Where is that time spent in the Erlang VM or in the Kernel? You are potentially on a wakeup schedule of 81 wakeups per millisecond to handle packets. Which suggests you need to understand where your CPU time is spent in the system in order to tune it for lower CPU usage.<br><br></div><div class="gmail_extra">Many systems can show lower CPU load, until you are forced to do things with the packets at which point they have to pay with CPU load in order to organize the data. Chances are such organization has already been done for you by the VM.<br><br></div><div class="gmail_extra"><br clear="all"><br>-- <br><div class="gmail_signature">J.</div>
</div></div>