You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2017/08/25 21:33:00 UTC

[jira] [Commented] (ARTEMIS-1374) AMQP: Improve transfer tag generation and add tag pooling

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

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

GitHub user tabish121 opened a pull request:

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

    ARTEMIS-1374 Improve performance and GC overhead of AMQP transfer tags

    Use a more efficient means of creating AMQP transfer tags and pool
    previously generated values for reuse on future sends.

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

    $ git pull https://github.com/tabish121/activemq-artemis ARTEMIS-1374

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

    https://github.com/apache/activemq-artemis/pull/1492.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 #1492
    
----
commit 54105fc02c6f717afc35db1e33f9492be1a72fe6
Author: Timothy Bish <ta...@gmail.com>
Date:   2017-08-25T21:17:35Z

    ARTEMIS-1374 Improve performance and GC overhead of AMQP transfer tags
    
    Use a more efficient means of creating AMQP transfer tags and pool
    previously generated values for reuse on future sends.

----


> AMQP: Improve transfer tag generation and add tag pooling
> ---------------------------------------------------------
>
>                 Key: ARTEMIS-1374
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-1374
>             Project: ActiveMQ Artemis
>          Issue Type: Improvement
>          Components: AMQP
>    Affects Versions: 2.2.0
>            Reporter: Timothy Bish
>            Assignee: Timothy Bish
>             Fix For: 2.3.0
>
>
> The broker currently generates a new transfer tag for each outbound message using a long value that is converted to a hex string and then encoded to a UTF-8 byte array.  We can optimize this generation by just encoding the long into a byte array directly thereby generating less garbage and providing a significant performance boost to that operation.
> The broker can also cache previously generated tags once a message is settled and reuse them on a future send to further reduce the amount of garbage created on dispatch.  



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