activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From franz1981 <...@git.apache.org>
Subject [GitHub] activemq-artemis pull request #1752: ARTEMIS-1586 Reduce GC pressure due to ...
Date Sat, 06 Jan 2018 00:20:57 GMT
Github user franz1981 commented on a diff in the pull request:

    https://github.com/apache/activemq-artemis/pull/1752#discussion_r160007930
  
    --- Diff: artemis-server/src/main/java/org/apache/activemq/artemis/core/protocol/ServerPacketDecoder.java
---
    @@ -83,16 +85,34 @@
     
     public class ServerPacketDecoder extends ClientPacketDecoder {
     
    +   private static final int UUID_LENGTH = 36;
    +   private static final int DEFAULT_INTERNER_CAPACITY = 32;
        private static final long serialVersionUID = 3348673114388400766L;
    -   public static final ServerPacketDecoder INSTANCE = new ServerPacketDecoder();
    +   private SimpleString.Interner keysInterner;
    +   private TypedProperties.StringValue.Interner valuesInterner;
     
    -   private static SessionSendMessage decodeSessionSendMessage(final ActiveMQBuffer in,
CoreRemotingConnection connection) {
    +   public ServerPacketDecoder() {
    +      this.keysInterner = null;
    +      this.valuesInterner = null;
    +   }
    +
    +   private void initializeInternersIfNeeded() {
    --- End diff --
    
    This is not how escape analysis work sadly: not on the standard Oracle JVM at least. 
    Maybe Graal does a better job here because if allows partial escaping (first occurrence
and never after too) while packing instances on the stack.


---

Mime
View raw message