[ https://issues.apache.org/jira/browse/ARTEMIS-1307?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17836341#comment-17836341 ]
Francesco Nigro edited comment on ARTEMIS-1307 at 4/11/24 8:00 PM: ------------------------------------------------------------------- Hi [~jbertram] I can if there's still the need for such: I mean, if it proves to be a costy component which would benefit by it. I remember that most of the operations in Artemis (apart from OpenWire) use to run on the Netty Event Loops: if this thing still hold, probably it won't matter. If it has changed instead (or there are other performance sentitive paths which run on the executors) I suppose you need to profile a use care and make sure that the bottleneck is on the OrderedExecutor's tasks. was (Author: nigrofranz): Hi [~jbertram] I can if there's still the need for such: I mean, if it proves to be a costy component which would benefit by it. I remember that most of the operations in Artemis (apart from OpenWire) use to run on the Netty Event Loops: if this thing still hold, probably it won't matter. If it has changed than, I suppose you need to profile to make sure that one bottleneck is on the OrderedExecutor's tasks. > Improve performance of OrderedExecutor > -------------------------------------- > > Key: ARTEMIS-1307 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1307 > Project: ActiveMQ Artemis > Issue Type: Improvement > Components: Broker > Affects Versions: 2.2.0 > Reporter: Francesco Nigro > Assignee: Francesco Nigro > Priority: Minor > > The current ordered executor is using ConcurrentLinkedQueue that: > - has expensive queue::size operation (ie O( n )) > - has node instances scattered in the heap > There are faster and cheaper alternatives in specialized libraries (eg > JCtools) that could be used instead of it to be more friendly with the GC and > to provide more throughput too when CPU bound. -- This message was sent by Atlassian Jira (v8.20.10#820010)