[
https://issues.apache.org/jira/browse/AVRO-3721?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17698379#comment-17698379
]
Moshe Elisha commented on AVRO-3721:
------------------------------------
Thanks, [~clesaec] . I don't have any special objection but the purpose of this
ticket is to improve the JsonProperties.getObjectProps and avoid unnecessary
work on every invocation.
Are you proposing to use vavr for JsonProperties.props or only inside
JsonProperties.getObjectProps ?
In addition, is it worth adding a new dependency just for this case when there
is a simpler solution we can use?
> [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)