[
https://issues.apache.org/jira/browse/BEAM-12754?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17417194#comment-17417194
]
Beam JIRA Bot commented on BEAM-12754:
--------------------------------------
This issue is assigned but has not received an update in 30 days so it has been
labeled "stale-assigned". If you are still working on the issue, please give an
update and remove the label. If you are no longer working on the issue, please
unassign so someone else may work on it. In 7 days the issue will be
automatically unassigned.
> 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
> Priority: P2
> Labels: stale-assigned
> Time Spent: 3h
> Remaining Estimate: 0h
>
> 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)