Retrying ...<div><br></div><div>Did anyone get a chance to look at this profile?</div><div><br></div><div>I think there are real opportunities to optimize this code path in netty based on the profile attached. Channel.write() should not be taking up so much CPU.</div>
<div><br></div><div>Utkarsh<br><br><div class="gmail_quote">On Thu, Sep 10, 2009 at 11:37 PM, Utkarsh Srivastava <span dir="ltr">&lt;<a href="mailto:utkarsh@gmail.com">utkarsh@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Hi,<div><br></div><div>I recently rewrote an application that was not using Netty (or even NIO) so as to use Netty. Netty has been great to use, the API, the doc, everything. Thanks for the good work.</div><div><br></div>
<div>
<div>Using netty <a href="http://3.1.2.GA" target="_blank">3.1.2.GA</a>, my application basically blasts out messages to 2 servers. I would expect to be able to saturate the network pipe. I am able to do so at larger message sizes (e.g. 16K). </div>

<div><br></div><div>But for small messages (e.g. 1K), the application doesn&#39;t saturate the network but becomes CPU bound. I profiled the application using Yourkit and one place that I noticed that had a high CPU consumption but shouldn&#39;t was channel.write(). </div>

<div><br></div><div>The breakdown of that method is attached. What is strange is 19% of the time going in NioClientSocketPipelineSink.eventSunk() and its own time is nontrivial (170 ms = 7%). Looking at the code, I don&#39;t see any place where that CPU can be spent (since NIOWorker.write() and NIOSocketChannel$WriteBuffer.offer() have their own separate contributions of 9 and 3% respectively. So this is extremely puzzling. Anybody have thoughts on this?</div>

</div><div><br></div><div>Also, is it necessary to make that system call every time to check if the channel is connected? That alone is taking up 6%.</div><div><br></div><div>Thanks</div><div>Utkarsh</div><font color="#888888"><div>
<br></div><div>
<br></div>
</font></blockquote></div><br></div>