activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Tim Bain <tb...@alumni.duke.edu>
Subject Re: Performance issue in FilePendingMessageCursor.isEmpty()
Date Sun, 10 Apr 2016 04:11:55 GMT
Looks like your attachment from YourKit was stripped off.

But your suggestion seems like a reasonable improvement; submit a JIRA
enhancement request.  Even better, a patch or a pull request!
On Apr 9, 2016 11:51 AM, "Martin Lichtin" <lichtin@yahoo.com.invalid> wrote:

With a test sending 5000 messages to a queue, I see heavy CPU use on the
broker side (v 5.12.2).
Using Yourkit it shows that the hot spot methods are



FilePendingMessageCursor.isEmpty() iterates over in-memory messages and
therefore (as it is a prioritized queue) uses
PrioritizedPendingListIterator which uses OrderedPendingList.getAsList()
which turns out to be an expensive method as it converts the self-managed
linked list to a Java ArrayList.

I wonder if anyone else has seen this issue?

Perhaps PrioritizedPendingListIterator could be improved to walk the
priority lists via OrderedPendingList iterators, as these are implemented
efficiently.

- Martin

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message