[ 
https://issues.apache.org/jira/browse/THRIFT-3306?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14936890#comment-14936890
 ] 

Hudson commented on THRIFT-3306:
--------------------------------

SUCCESS: Integrated in Thrift #1672 (See 
[https://builds.apache.org/job/Thrift/1672/])
THRIFT-3306: Java: TBinaryProtocol: Use a single temp byte[] buffer (roger: rev 
60aa640c3028a0c6314a2ae4e40d32e40f355464)
* lib/java/src/org/apache/thrift/protocol/TBinaryProtocol.java


> Java: TBinaryProtocol: Use 1 temp buffer instead of allocating 8
> ----------------------------------------------------------------
>
>                 Key: THRIFT-3306
>                 URL: https://issues.apache.org/jira/browse/THRIFT-3306
>             Project: Thrift
>          Issue Type: Improvement
>          Components: Java - Library
>            Reporter: Evan Jones
>            Assignee: Roger Meier
>            Priority: Minor
>
> TBinaryProtocol has a member buffer for reading and for serializing each of 
> the integer types. It can get by with only a single one: 8 bytes long for the 
> maximum length integer. This causes a significant reduction in allocations 
> and GC in cases that create the TBinaryProtocol to serialize a single 
> message, instead of reusing it.
> This passes "ant test". I ran the existing SerializationBenchmark and there 
> is no statistically significant difference (the average of 5 runs is smaller 
> on my machine, but I don't think we should read much into that).
> I have a JMH benchmark for this, and it shows that when the TBinaryProtocol 
> is allocated each time, this change is better, but is more or less the same 
> when you reuse the TBinaryProtocol in a loop.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to