[jboss-jira] [JBoss JIRA] (JGRP-1773) TP$MyHandler.handleSingleMessage() makes an unnecessary copy of the buffer

Pedro Ruivo (JIRA) issues at jboss.org
Mon Jan 20 09:10:28 EST 2014


    [ https://issues.jboss.org/browse/JGRP-1773?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12937215#comment-12937215 ] 

Pedro Ruivo commented on JGRP-1773:
-----------------------------------

hmmm... I don't know why but when I saw the code last week, it looked like this array (https://github.com/belaban/JGroups/blob/master/src/org/jgroups/protocols/UDP.java#L673) was created every time you read a datagram packet. I was wrong :)
                
> TP$MyHandler.handleSingleMessage() makes an unnecessary copy of the buffer
> --------------------------------------------------------------------------
>
>                 Key: JGRP-1773
>                 URL: https://issues.jboss.org/browse/JGRP-1773
>             Project: JGroups
>          Issue Type: Enhancement
>            Reporter: Bela Ban
>            Assignee: Bela Ban
>             Fix For: 3.5
>
>
> When a single message is received, we pass it to the thread pool for parsing, passing a copy of the byte array to the MyHandler runnable.
> The parsing then creates a new Message and calls readFrom(). This method reads the headers and then creates a payload buffer of the size read from the input stream, then copies {{size}} bytes from the input stream to the mesage's payload.
> This is an unneeded copy; as we already have a copy of the byte array, we only need to *reference* the byte array from the message and set the offset and length, saving us one copy of the buffer.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


More information about the jboss-jira mailing list