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)