GitHub user michaelandrepearce opened a pull request:

    https://github.com/apache/activemq-artemis/pull/1757

    ARTEMIS-1586 Reduce GC pressure due to String allocations on Core protocol

    @franz1981 i think this is cleaner merge of the two.

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/michaelandrepearce/activemq-artemis 
ARTEMIS-1586-FRANZ

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/activemq-artemis/pull/1757.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #1757
    
----
commit 4ab1fea88610e46381141223479aec97e7fa04ac
Author: Francesco Nigro <nigro.fra@...>
Date:   2018-01-04T14:22:05Z

    ARTEMIS-1586 Reduce GC pressure due to String allocations on Core protocol
    
    The commit contains:
    - a general purpose interner implementation
    - StringValue/SimpleString internrs specializations
    - TypedProperties keys/values string interning for SessionSendMessage 
decoding

commit 794e56da99456e891284709b790bf8144d65b0f9
Author: Michael André Pearce <michael.andre.pearce@...>
Date:   2018-01-08T18:45:18Z

    ARTEMIS-1586 Refactor to make more generic
    
    * Move byte util code into ByteUtil
    * Re-use the new equals method in SimpleString
    * Apply same pools/interners to client decode
    * Create String to SimpleString pools/interners for property access via 
String keys (producer and consumer benefits)
    * Lazy init the pools on withing the get methods of CoreMessageObjectPools 
to get the specific pool, to avoid having this scattered every where.

----


---

Reply via email to