[ 
https://issues.apache.org/jira/browse/ARTEMIS-1383?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16154489#comment-16154489
 ] 

ASF GitHub Bot commented on ARTEMIS-1383:
-----------------------------------------

Github user franz1981 commented on the issue:

    https://github.com/apache/activemq-artemis/pull/1505
  
    @clebertsuconic Agree, but I wanted to start first with something smaller 
in order to add features when (if) it proves to be stable enough.
    
    Currently I've provided only a fast (a-la ArrayDeque) internal iterator (ie 
forEach): an external Iterator is for sure feasible to be implemented using the 
same algorithm.
    What I've to think better is how implement Iterator::remove and 
Iterator::repeat operations: I don't know if they can be replaced by something 
more sympathic with the mechanics of this queue, maybe simplifying the 
QueueImpl code too.
    
    If it shoudn't be possible I'll try to implement the original semantic of 
LinkedListImpl's Iterator on ChunkedQueue too, but I really don't know how much 
time will be needed.


> Improved Priority queue
> -----------------------
>
>                 Key: ARTEMIS-1383
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-1383
>             Project: ActiveMQ Artemis
>          Issue Type: Improvement
>          Components: Broker
>            Reporter: Francesco Nigro
>            Assignee: Francesco Nigro
>
> The original PriorityLinkedList implementation is based on a double linked 
> list implementation that suffer of:
> * fragmentation along the heap
> * pointer chasing due to the presence of nodes
> * allocation heavy (ie each add operation forces allocation of nodes)
> * high hidden (ie the nodes) memory footprint that lead to wrong memory 
> estimations
> It is possible to provide a specialized chunked implementation that can 
> address all these issues while providing a better performance (throughput, 
> latency and memory footprint wise).



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to