2012-02-02 16 views
6

私はnettyフレームワークを使って書かれた約40k msg/secを扱うネットワークアプリケーションを持っており、ガベージコレクタコールの数を減らしたいと思います。プロファイリングながら私はbyte[]インスタンス、かなりの量があることを発見し、私はそれは、コードのこの部分から来ていると思われる:ネットゴミの生産を減らすには?

public class MessageHandler extends SimpleChannelHandler { 

public void messageReceived(ChannelHandlerContext ctx, final MessageEvent e) { 

    ChannelBuffer message = (ChannelBuffer) e.getMessage(); 
} 

} 

は、それらのすべてを構築することを防ぐために、何らかの形/プールChannelBuffersを再利用するネッティーを強制することが可能です時間?

答えて

5

バッファのプーリングを実装する予定ですが、まだ完了していません。

だからネッティーが新しいChannelBuffer新しいメッセージが到着するたびに、作成しhttps://github.com/netty/netty/issues/62

+0

を参照してください? –

+0

はいそれはどのように働くatm –

+0

私はこれを避けることができる簡単な方法はありますか?私はtcpクライアントしか持っておらず、ChannelBuffersの束を割り当てて別のゴミを作りたくありません。たぶん私はネタをして少し変更することができますが、私はこのライブラリには新しく静かです。 –