You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "Michael Andre Pearce (JIRA)" <ji...@apache.org> on 2018/01/13 21:41:00 UTC

[jira] [Created] (ARTEMIS-1606) Change AddressInfo RoutingType Set to use EnumSet

Michael Andre Pearce created ARTEMIS-1606:
---------------------------------------------

             Summary: Change AddressInfo RoutingType Set to use EnumSet 
                 Key: ARTEMIS-1606
                 URL: https://issues.apache.org/jira/browse/ARTEMIS-1606
             Project: ActiveMQ Artemis
          Issue Type: Improvement
            Reporter: Michael Andre Pearce


RoutingType is a enum, as such can take advantage of the benefits of EnumSet. Its a specialist set designed for Enum's.

https://docs.oracle.com/javase/7/docs/api/java/util/EnumSet.html

https://www.techempower.com/blog/2017/02/14/enumset-and-enummap/

This will reduce memory footprint due to being many times more compact, this is particularly important as this Address Info and Routing Type sets are in the hot path of message flow.

Also at the same time to remove the iterator from the getRoutingType which is in the hotpath. Like wise we can avoid it if AddressInfo is constructed with a single RoutingType.



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