You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@arrow.apache.org by "Micah Kornfield (Jira)" <ji...@apache.org> on 2019/09/18 06:03:00 UTC

[jira] [Updated] (ARROW-6595) [Java] Avro - Experiment with "compiled" consumer delegates for performance.

     [ https://issues.apache.org/jira/browse/ARROW-6595?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Micah Kornfield updated ARROW-6595:
-----------------------------------
    Summary: [Java] Avro - Experiment with "compiled" consumer delegates for performance.  (was: [Java] Avro - Experiment consumer compilation.)

> [Java] Avro - Experiment with "compiled" consumer delegates for performance.
> ----------------------------------------------------------------------------
>
>                 Key: ARROW-6595
>                 URL: https://issues.apache.org/jira/browse/ARROW-6595
>             Project: Apache Arrow
>          Issue Type: Sub-task
>          Components: Java
>            Reporter: Micah Kornfield
>            Assignee: Ji Liu
>            Priority: Major
>              Labels: avro
>
> All consumers that rely on delegates (e.g. struct, composite, list, union, ...) require  megamorphic lookups which can't be inlined well by JIT.  
>  
> We should verify the performance different of a hand-coded consumer vs an existing delegate consumer
>  
> i.e. something like:
>  
> void consume(Decoder d) {
>   ((IntConsumer)delegate).consume(d);
> }
>  
> compared to the existing implementation.  It is expected we will see a decent amount of performance improvement from this approach.  If we do, we should add an option to converter to generate new custom classes on the fly, that mimic the hand-coded option.
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)