[
https://issues.apache.org/jira/browse/AVRO-3721?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17698425#comment-17698425
]
Moshe Elisha commented on AVRO-3721:
------------------------------------
That would be fine.
The work of converting from JsonNode to Object will still happen on every
invocation while in my original proposal it does not but up to you. Both are OK.
Thank you!
> [Java] Add cache to org.apache.avro.JsonProperties.getObjectProps
> -----------------------------------------------------------------
>
> Key: AVRO-3721
> URL: https://issues.apache.org/jira/browse/AVRO-3721
> Project: Apache Avro
> Issue Type: Improvement
> Components: java
> Affects Versions: 1.11.1
> Reporter: Moshe Elisha
> Priority: Minor
>
> Currently every time you invoke JsonProperties.getObjectProps on same
> instance, the code loops over the props and creates a new LinkedHashMap and a
> new UnmodifiableMap.
>
> In our use case, we store a Protocol (and the JsonProperties) and access the
> same instances multiple times.
>
> Storing a simple cache "private Map<String, Object> objectProps;" inside
> JsonProperties will slightly improve performance and memory usage.
> objectProps can be lazy initialized in JsonProperties.getObjectProps and
> reset when "JsonProperties.addProp(String, JsonNode)" is invoked.
>
> Thanks.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)