[ https://issues.apache.org/jira/browse/BEAM-12754?focusedWorklogId=637556&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-637556 ]
ASF GitHub Bot logged work on BEAM-12754: ----------------------------------------- Author: ASF GitHub Bot Created on: 12/Aug/21 21:58 Start Date: 12/Aug/21 21:58 Worklog Time Spent: 10m Work Description: reuvenlax commented on pull request #15327: URL: https://github.com/apache/beam/pull/15327#issuecomment-897994708 It looks like Row.getValues is often used to do a raw copy - e.g. return Row.withSchema(schema).attachValues(row.getValues()); If you want to do a larger refactor (and intelliJ should make this easy), you can rename getValues() -> getRawValues(), and add a new getValues() that does what you want; this might make the Row methods a bit less confusing. Otherwise you can simply do it inline here - e.g. IntStream.range(row.getSize()).map(i -> row.get(i)).collect(Collectors.toList()); -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: github-unsubscr...@beam.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org Issue Time Tracking ------------------- Worklog Id: (was: 637556) Time Spent: 40m (was: 0.5h) > 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 > Time Spent: 40m > 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)