activemq-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (ARTEMIS-1356) Avoid allocations and atomic operations to recognize handler's thread
Date Tue, 22 Aug 2017 12:07:01 GMT

    [ https://issues.apache.org/jira/browse/ARTEMIS-1356?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16136690#comment-16136690
] 

ASF GitHub Bot commented on ARTEMIS-1356:
-----------------------------------------

Github user michaelandrepearce commented on a diff in the pull request:

    https://github.com/apache/activemq-artemis/pull/1477#discussion_r134460108
  
    --- Diff: artemis-server/src/main/java/org/apache/activemq/artemis/core/protocol/core/ServerSessionPacketHandler.java
---
    @@ -159,7 +158,11 @@
     
        private final boolean direct;
     
    -   private static final ThreadLocal<AtomicBoolean> inHandler = ThreadLocal.withInitial(AtomicBoolean::new);
    +   //marker instance used to recognize if a thread is performing a packet handling
    +   private static final Object DUMMY = Boolean.TRUE;
    --- End diff --
    
    Why not make this a Boolean type?


> Avoid allocations and atomic operations to recognize handler's thread
> ---------------------------------------------------------------------
>
>                 Key: ARTEMIS-1356
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-1356
>             Project: ActiveMQ Artemis
>          Issue Type: Improvement
>          Components: Broker
>            Reporter: Francesco Nigro
>            Assignee: Francesco Nigro
>
> The current way to recognize the handler's thread is using heavyweight operations (allocations
+ atomic set/get) that limit some compiler optimizations on the (core) packet handling path.
> The same logic can be achieved using only a ThreadLocal map and a cached marker instance.



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

Mime
View raw message