[ 
https://issues.apache.org/jira/browse/ARTEMIS-3049?focusedWorklogId=530717&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-530717
 ]

ASF GitHub Bot logged work on ARTEMIS-3049:
-------------------------------------------

                Author: ASF GitHub Bot
            Created on: 04/Jan/21 15:00
            Start Date: 04/Jan/21 15:00
    Worklog Time Spent: 10m 
      Work Description: franz1981 commented on pull request #3393:
URL: https://github.com/apache/activemq-artemis/pull/3393#issuecomment-754024920


   Despite my expectations, the results are NOT promising...
   
   This PR
   1 thread:
   ```
   Benchmark                                            (chunkSize)  (size)   
Mode  Cnt          Score         Error  Units
   ConcurrentAppendOnlyChunkListLookupBenchmark.lookup           32    1000  
thrpt   16  108968555.072 ±  135438.271  ops/s
   ConcurrentAppendOnlyChunkListLookupBenchmark.lookup           32   10000  
thrpt   16  105613840.728 ±  475604.647  ops/s
   ```
   3 threads:
   ```
   Benchmark                                            (chunkSize)  (size)   
Mode  Cnt         Score          Error  Units
   ConcurrentAppendOnlyChunkListLookupBenchmark.lookup           32    1000  
thrpt   16  91693844.669 ± 29399345.167  ops/s
   ConcurrentAppendOnlyChunkListLookupBenchmark.lookup           32   10000  
thrpt   16  78520201.713 ±  3428526.469  ops/s
   ```
   
   `master`
   
   1 thread:
   ```
   Benchmark                                            (chunkSize)  (size)   
Mode  Cnt         Score         Error  Units
   ConcurrentAppendOnlyChunkListLookupBenchmark.lookup           32    1000  
thrpt   16  59747234.340 ± 1117878.317  ops/s
   ConcurrentAppendOnlyChunkListLookupBenchmark.lookup           32   10000  
thrpt   16   7699916.690 ±   36448.254  ops/s
   ```
   3 threads:
   ```
   Benchmark                                            (chunkSize)  (size)   
Mode  Cnt          Score         Error  Units
   ConcurrentAppendOnlyChunkListLookupBenchmark.lookup           32    1000  
thrpt   16  181201564.143 ± 2457478.235  ops/s
   ConcurrentAppendOnlyChunkListLookupBenchmark.lookup           32   10000  
thrpt   16   23011863.725 ±  110276.468  ops/s
   ```
   
   It shows that 3 consumers won't get the expected speedup and I suppose 
that's due to the last accessed buffer miss.


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Issue Time Tracking
-------------------

    Worklog Id:     (was: 530717)
    Time Spent: 0.5h  (was: 20m)

> 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
>          Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> 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)

Reply via email to