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)