Uploaded image for project: 'Apache Arrow'
  1. Apache Arrow
  2. ARROW-5845 [Java] Implement converter between Arrow record batches and Avro records
  3. ARROW-6595

[Java] Avro - Experiment with "compiled" consumer delegates for performance.

    XMLWordPrintableJSON

Details

    • Sub-task
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • None
    • Java

    Description

      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.

       

      Attachments

        Activity

          People

            Unassigned Unassigned
            emkornfield@gmail.com Micah Kornfield
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated: