Open jrudolph opened 3 years ago
You mean the byte array allocated in BaseMarshaller
to read from the InputStream
(only API provided by io.grpc.MethodDescriptor
) ? Might be linked to this PR: https://github.com/akka/akka-grpc/pull/1318/files#diff-1a02adbd4ed9c032022756fe7dbbac1e967816613c7f1adef4f3e2330136fa11L22
Actually I didn't see but there is an alternative solution in https://github.com/akka/akka-grpc/pull/1378 (still relying on internal buffering of the stream)
Thanks, @lomigmegard, those are relevant indeed.
Marshallings reliance on moving data between InputStream / OutputStream leads to a lot of memory churn while supplying the intermediate buffers.
I haven't looked deeply into it yet but it seems that this is caused by having to go to some io.grpc abstractions. Do we have any idea how we could avoid that?