[ https://issues.apache.org/jira/browse/BEAM-12754?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Kenneth Knowles updated BEAM-12754: ----------------------------------- Status: Open (was: Triage Needed) > 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 > > 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)