Hi Everyone,

So this is an opportunity to work as a community to explore solutions to 
improve gRPC-Java <https://github.com/grpc/grpc-java> when one has large 
payloads.

You might have seen the following post by Carl of a slowdown with large 
payloads using gRPC-Java <https://github.com/grpc/grpc-java>:

https://github.com/grpc/grpc-java/issues/2151

You'll notice there is a lot of copying that is happening, which has a 
potential for being streamlined.  In theory the passing-by-reference with 
the functional programming approach of updating the data is a natural 
direction, but currently different components of the program have specific 
object types they understand and expect for processing.

There are some nice discussions happening around multi-buffer allocation, 
consolidated buffers before a write, zero-copy for the data portion with 
WriteCombiningHandler 
<https://github.com/buchgr/grpc-java/blob/08c67f80d6ff33e350e02891a5fc9f067cf192bd/netty/src/main/java/io/grpc/netty/WriteCombiningHandler.java>
 
performing the serialization:

https://github.com/grpc/grpc-java/pull/2092

https://github.com/grpc/grpc-java/pull/1996

https://github.com/grpc/grpc-java/issues/2139

This is a fun problem, which I imagine others might encounter when using 
gRPC-Java <https://github.com/grpc/grpc-java>.  So let's explore ways to 
optimize this for large payloads, and discuss tweaks to gRPC-Java 
<https://github.com/grpc/grpc-java> to make this possible.

Thanks,
Paul


-- 
You received this message because you are subscribed to the Google Groups 
"grpc.io" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to grpc-io+unsubscr...@googlegroups.com.
To post to this group, send email to grpc-io@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/grpc-io/49ac302b-0271-4fcb-99fd-0ca2779b49ad%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to