[ 
https://issues.apache.org/jira/browse/IGNITE-29249?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nikita Amelchev updated IGNITE-29249:
-------------------------------------
    Attachment: JmhCacheRemoteGetBenchmark.java

> Reduce allocations on the cache get path
> ----------------------------------------
>
>                 Key: IGNITE-29249
>                 URL: https://issues.apache.org/jira/browse/IGNITE-29249
>             Project: Ignite
>          Issue Type: Improvement
>            Reporter: Nikita Amelchev
>            Assignee: Nikita Amelchev
>            Priority: Major
>         Attachments: JmhCacheRemoteGetBenchmark.java
>
>
> Two sources of pure overhead on the hottest cache path:
> *DHT side of a remote get.* {{GridDhtGetFuture}} and 
> {{GridDhtGetSingleFuture}} allocate a future ID and a new cache version that 
> nobody reads. The version counter is bumped under contention for every read.
> *Cluster state check on every cache operation.* Each operation on a cache 
> proxy calls {{{}publicApiState{}}}, which builds a finished future and a 
> chain even when no state transition is in progress, i.e. in the normal steady 
> state of the cluster.
> Both can be removed without changing the behaviour.



--
This message was sent by Atlassian Jira
(v10.3.26#10030026)

Reply via email to