[ https://issues.apache.org/jira/browse/HADOOP-13438?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Daryn Sharp updated HADOOP-13438: --------------------------------- Attachment: HADOOP-13438.patch Server side only changes to ensure protocol not broken (corresponding client changes forthcoming). A new RpcWritable class manages the marshaling of writables and PBs. The Server passes the ByteBuffer for the read request, instead of the byte[] from the buffer to eliminate a copy. The RpcWritables use the ByteBuffer to effectively iterate through the byte[] w/o copying it. > Optimize IPC server protobuf decoding > ------------------------------------- > > Key: HADOOP-13438 > URL: https://issues.apache.org/jira/browse/HADOOP-13438 > Project: Hadoop Common > Issue Type: Sub-task > Reporter: Daryn Sharp > Assignee: Daryn Sharp > Attachments: HADOOP-13438.patch > > > The current use of the protobuf API uses an expensive code path. The builder > uses the parser to instantiate a message, then copies the message into the > builder. The parser is creating multi-layered internally buffering streams > that cause excessive byte[] allocations. > Using the parser directly with a coded input stream backed by the byte[] from > the wire will take a fast-path straight to the pb message's ctor. > Substantially less garbage is generated. -- This message was sent by Atlassian JIRA (v6.3.4#6332) --------------------------------------------------------------------- To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-issues-h...@hadoop.apache.org