[
https://issues.apache.org/jira/browse/ARTEMIS-3049?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Francesco Nigro updated ARTEMIS-3049:
-------------------------------------
Description:
LivePageCacheImpl::getMessage is performing a linked-list-like lookup that can
be rather slow if compared to a O(1) lookup on ArrayList-like data structure.
it's possible to speed it up by:
# using a last accessed buffer cache on the append only chunked list used on
LivePageCacheImpl, to speedup the most recent (& nearest) accesses
# using an array with the fresh reloaded paged messages, in case of cache reload
https://github.com/apache/activemq-artemis/pull/2494#issuecomment-455086939
clearly show the issue with the current implementation.
was:
LivePageCacheImpl::getMessage is performing a linked-list-like lookup that can
be rather slow if compared to a O(1) lookup on ArrayList-like data structure.
it's possible to speed it up by:
# using a last accessed buffer cache on the append only chunked list used on
LivePageCacheImpl, to speedup the most recent (& nearest) accesses
# using an array with the fresh reloaded paged messages, in case of cache reload
https://github.com/apache/activemq-artemis/pull/2494#issuecomment-455086939
explains clearly the issue with the current implementation.
> Reduce live page lookup cost
> ----------------------------
>
> Key: ARTEMIS-3049
> URL: https://issues.apache.org/jira/browse/ARTEMIS-3049
> Project: ActiveMQ Artemis
> Issue Type: Improvement
> Components: Broker
> Affects Versions: 2.16.0
> Reporter: Francesco Nigro
> Assignee: Francesco Nigro
> Priority: Major
>
> LivePageCacheImpl::getMessage is performing a linked-list-like lookup that
> can be rather slow if compared to a O(1) lookup on ArrayList-like data
> structure.
> it's possible to speed it up by:
> # using a last accessed buffer cache on the append only chunked list used on
> LivePageCacheImpl, to speedup the most recent (& nearest) accesses
> # using an array with the fresh reloaded paged messages, in case of cache
> reload
> https://github.com/apache/activemq-artemis/pull/2494#issuecomment-455086939
> clearly show the issue with the current implementation.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)