[ https://issues.apache.org/jira/browse/QPID-8244?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Alex Rudyy reassigned QPID-8244: -------------------------------- Assignee: Alex Rudyy > [Broker-J] Optimize fanout exchange routing functionality > --------------------------------------------------------- > > Key: QPID-8244 > URL: https://issues.apache.org/jira/browse/QPID-8244 > Project: Qpid > Issue Type: Improvement > Components: Broker-J > Affects Versions: qpid-java-broker-7.0.6 > Reporter: Alex Rudyy > Assignee: Alex Rudyy > Priority: Major > Fix For: qpid-java-broker-7.1.0, qpid-java-broker-7.0.7 > > > Whilst investigating a performance issue reported as part of QPID-8238 I ran > a java profiler which had detected some performance loss on creation of > intermediate map objects and copying data between intermediate maps in > {{org.apache.qpid.server.exchange.TopicExchangeImpl#getMatchedDestinations}} > and > {{org.apache.qpid.server.exchange.topic.TopicExchangeResult#processMessage(org.apache.qpid.server.filter.Filterable)}}. > > Effectively, the routing functionality converts the collection of > TopicMatcherResult got based on message routing key into a map where keys are > route destinations and values are routing/replacement keys. The conversions > is done in {{TopicExchangeImpl#getMatchedDestinations}} using intermediate > map returned from {{TopicExchangeResult#processMessage}} and containing the > destination as a key and routing replacement key as a value. Than, multiple > maps (representing each TopicMatcherResult ) are merged into a single map. > I committed the changes [ > https://git-wip-us.apache.org/repos/asf?p=qpid-broker-j.git;h=0510ed3 ] > eliminating the need for intermediate map creation in > {{TopicExchangeResult#processMessage}}. It also simplifies the code. > The commit left the old implementation untouched but marked it as Deprecated > in order to keep public methods unchanged as the next version is minor > release rather major one. > Following [review comments from Keith > Wall|https://issues.apache.org/jira/browse/QPID-8238?focusedCommentId=16610224&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-16610224] > I created this JIRA to track exchange changes and reapply the commit > [0510ed3|https://git-wip-us.apache.org/repos/asf?p=qpid-broker-j.git;h=0510ed3] -- This message was sent by Atlassian JIRA (v7.6.3#76005) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org