2012-02-02 13 views
6

Ho un'applicazione di rete che gestisce circa 40k msg/sec scritti usando netty framework e voglio ridurre il numero di chiamate di garbage collector. Mentre profiling ho scoperto che v'è una significativa quantità di byte[] istanze e ho il sospetto che viene da questa parte di codice:Come ridurre la produzione di rifiuti inutili?

public class MessageHandler extends SimpleChannelHandler { 

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

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

} 

E 'possibile forzare Netty di riutilizzare/piscina ChannelBuffers in qualche modo per evitare che costruire loro ogni tempo?

risposta

5

Abbiamo in programma di implementare il pool di buffer, ma non è ancora stato fatto.

Vedi https://github.com/netty/netty/issues/62

+0

Così Netty crea nuova ChannelBuffer ogni volta, quando il nuovo messaggio arriva? –

+0

sì, come funziona atm –

+0

C'è un modo semplice per evitarlo? Ho solo un client TCP e non voglio produrre altri rifiuti, allocando un gruppo di ChannelBuffer. Forse potrò sborsare un po 'e cambiare un po', ma sono tranquillo nuovo in questa libreria. –

Problemi correlati