msgpack-rpc & netty 4.0

i tried reactor from spring a bit more, doesn’t seem to provide too much, and some overhead exists over netty. now that netty 4.0 getting more & more adoption, it’s interesting just to see whether msgpack-rpc could be updated (current netty 3.x)

the major benefits are:

  • performance, esp. less GC overhead, compared with netty 3.x
  • leveraging its future/promise implementation

work in progress, but already seen perf improvements:

https://github.com/inexplicable/msgpack-rpc-java

perf test based on: netty 3.x, bigdatatest

com.intellij.rt.execution.application.AppMain com.intellij.rt.execution.junit.JUnitStarter -ideVersion5 org.msgpack.rpc.BigDataTest

sync: 42.37288135593221 calls per sec
Jan 23, 2014 12:20:27 AM org.msgpack.rpc.transport.PooledStreamClientTransport
INFO: Close all channels
async: 357.1428571428571 calls per sec
Jan 23, 2014 12:20:27 AM org.msgpack.rpc.transport.PooledStreamClientTransport
INFO: Close all channels

after after using netty 4.0 & updated tcp client pooling

sync: 58.8235294117647 calls per sec
[client transport] closing channels:1
async: 1250.0 calls per sec
[client transport] closing channels:3

though the current decoder still waste incomplete ByteBuf as used to, it’s already faster! would be updating the post once that is enhanced

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s