[ https://issues.apache.org/jira/browse/BEAM-14166?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17550064#comment-17550064 ]
Danny McCormick commented on BEAM-14166: ---------------------------------------- This issue has been migrated to https://github.com/apache/beam/issues/21634 > Improvements to RowWithGetter > ----------------------------- > > Key: BEAM-14166 > URL: https://issues.apache.org/jira/browse/BEAM-14166 > Project: Beam > Issue Type: Improvement > Components: sdk-java-core > Reporter: Moritz Mack > Assignee: Moritz Mack > Priority: P2 > Time Spent: 4h 20m > Remaining Estimate: 0h > > Various improvements to getValue(fieldIdx) in RowWithGetters mentioned > [here|[https://github.com/apache/beam/pull/16947#discussion_r833602836]:] > * Minimize memory overhead of cache using either a index lookup (array) or a > single hash map if number of fields exceeds the initial hashmap capacity > * The cache should be checked before calling a getter to avoid any > potentially unnecessary conversion in the getter itself. > * [Nested > rows|https://github.com/apache/beam/blob/master/sdks/java/core/src/main/java/org/apache/beam/sdk/values/RowWithGetters.java#L111] > should be cached, otherwise the cache of such nested rows can't be leveraged. > * Handling of collections / maps / iterables can be significantly improved > by simply skipping the transform in all cases where {{getValue}} for members > is the [identity > transform|https://github.com/apache/beam/blob/master/sdks/java/core/src/main/java/org/apache/beam/sdk/values/RowWithGetters.java#L142]. > -- This message was sent by Atlassian Jira (v8.20.7#820007)