[
https://issues.apache.org/jira/browse/BEAM-14166?focusedWorklogId=775596&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-775596
]
ASF GitHub Bot logged work on BEAM-14166:
-----------------------------------------
Author: ASF GitHub Bot
Created on: 28/May/22 00:10
Start Date: 28/May/22 00:10
Worklog Time Spent: 10m
Work Description: TheNeuralBit commented on PR #17172:
URL: https://github.com/apache/beam/pull/17172#issuecomment-1140113358
I think this is fine to go ahead and merge. From what I can tell Reuven's
original concern was that this would start caching more types than were already
being cached in `RowWithGetters`, but this is just moving around the caching
logic.
Issue Time Tracking
-------------------
Worklog Id: (was: 775596)
Time Spent: 3h 50m (was: 3h 40m)
> 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: 3h 50m
> 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)