You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "Justin Bertram (JIRA)" <ji...@apache.org> on 2018/01/22 17:29:01 UTC

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

     [ https://issues.apache.org/jira/browse/ARTEMIS-1606?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Justin Bertram resolved ARTEMIS-1606.
-------------------------------------
       Resolution: Fixed
    Fix Version/s: 2.5.0

> 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
>            Priority: Major
>             Fix For: 2.5.0
>
>
> 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. And that there is only two routing types currently so a very small enum.
> 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
(v7.6.3#76005)