[ 
https://issues.apache.org/jira/browse/AVRO-315?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12800170#action_12800170
 ] 

Thiruvalluvan M. G. commented on AVRO-315:
------------------------------------------

As pointed out by Doug, this introduces a change in semantics.

I think it's desirable to keep the property that the decoder does not take more 
bytes off the input stream than necessary. That property will allow the input 
stream not rewindable.

In any case, since the optimization for readLong() did not show much 
improvement in performance and the we may need more time to settle on the new 
proposal, I'm going ahead and committing the other optimization for readFloat() 
and readDouble(). I've created a new JIRA AVRO-327 to take improvement to 
readLong() forward.

> Performance improvements to BinaryDecoder
> -----------------------------------------
>
>                 Key: AVRO-315
>                 URL: https://issues.apache.org/jira/browse/AVRO-315
>             Project: Avro
>          Issue Type: Improvement
>          Components: java
>            Reporter: Thiruvalluvan M. G.
>            Assignee: Thiruvalluvan M. G.
>         Attachments: AVRO-315-prototype.patch, AVRO-315-test.patch, 
> AVRO-315.patch, AVRO-315.patch
>
>
> The forthcoming patch improves the performance of BinaryDecoder.readLong(), 
> readFloat() and readDouble().
> The test-patch has a command-line program Perf in org.apache.avro.io in the 
> (test part of the source directory) which tests the performance of readInt() 
> (which calls readLong())  readFloat() and readDouble(). On my machine, the 
> patch improves the performance by 10% for readInt() and about 50% for 
> readFloat() and readDouble().
> The idea is to unroll the loops in readLong(), readFloat() and readDouble(). 
> There is a small change in doReadBytes() which checks for most common 
> condition before less common ones.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to