Steve Niemitz created BEAM-12754:
------------------------------------

             Summary: RowCoderGenerator calls getValue multiple times
                 Key: BEAM-12754
                 URL: https://issues.apache.org/jira/browse/BEAM-12754
             Project: Beam
          Issue Type: Improvement
          Components: sdk-java-core
    Affects Versions: 2.31.0
            Reporter: Steve Niemitz
            Assignee: Steve Niemitz


RowCoderGenerator.encodeDelegate calls getValue for each field on a row twice, 
one to check if it is null in scanNullFields, and one to actually get the value 
to be encoded. 

If getValue is expensive (for example, it has to recursively adapt a type to a 
beam Row), this causes unneeded extra work.

Instead we could call value.getValues to get all values once, then pass them to 
scanNullFields and re-use them when encoding the values.



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

Reply via email to