[ https://issues.apache.org/jira/browse/AVRO-2056?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16102845#comment-16102845 ]
Gabor Szadovszky commented on AVRO-2056: ---------------------------------------- [~belugabehr], I've took a look on Perf and I see how it works now. So, there is no relevant change there, it is more for testing your stuff offline like in an IDE... +1 > DirectBinaryEncoder Creates Buffer For Each Call To writeDouble > --------------------------------------------------------------- > > Key: AVRO-2056 > URL: https://issues.apache.org/jira/browse/AVRO-2056 > Project: Avro > Issue Type: Improvement > Components: java > Affects Versions: 1.7.7, 1.8.2 > Reporter: BELUGA BEHR > Assignee: BELUGA BEHR > Priority: Minor > Attachments: AVRO-2056.1.patch > > > Each call to {{writeDouble}} creates a new buffer and promptly throws it away > even though the class has a re-usable buffer and is used in other methods > such as {{writeFloat}}. Remove this extra buffer. > {code:title=org.apache.avro.io.DirectBinaryEncoder} > // the buffer is used for writing floats, doubles, and large longs. > private final byte[] buf = new byte[12]; > @Override > public void writeFloat(float f) throws IOException { > int len = BinaryData.encodeFloat(f, buf, 0); > out.write(buf, 0, len); > } > @Override > public void writeDouble(double d) throws IOException { > byte[] buf = new byte[8]; > int len = BinaryData.encodeDouble(d, buf, 0); > out.write(buf, 0, len); > } > {code} -- This message was sent by Atlassian JIRA (v6.4.14#64029)