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

Doug Cutting commented on AVRO-345:
-----------------------------------

+1 This looks good to me.

We talked about re-writing GenericDatumReader to use ResolvingDecoder as an 
optimization.  Did that end up being faster?  If so, have you yet filed an 
issue for that?

> Optimization for ResolvingDecoder
> ---------------------------------
>
>                 Key: AVRO-345
>                 URL: https://issues.apache.org/jira/browse/AVRO-345
>             Project: Avro
>          Issue Type: Improvement
>          Components: java
>            Reporter: Thiruvalluvan M. G.
>            Assignee: Thiruvalluvan M. G.
>         Attachments: AVRO-345-test.patch, AVRO-345.patch
>
>
> If the writer's and reader's schema are records, we allow the order of fields 
> to be different in them. The ResolvingDecoder returns the fields in the 
> writer's order. This is to avoid buffering. The current implementation uses 
> FieldAdjust action on the parser stack. The number of such action symbols is 
> equal to the number of reader fields. This causes performance problem because 
> the number of calls to advance() is almost double compared to the number of 
> calls in ValidatingDecoder.
> This patch replaces the FieldAdjustAction symbols with FieldOrderAction 
> symbols. We have FieldOrderActions one per record, which is expected to be 
> much smaller than the number of fields. Though it changes the API for 
> ResolvingDecoder slightly, there is no impact because we do not have any 
> users yet.
> I see a 10-15% improvement in my computer with Perf -S.

-- 
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