You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2019/06/03 21:59:00 UTC

[jira] [Commented] (DISPATCH-1354) Interrouter annotation processing uses slow methods

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

ASF GitHub Bot commented on DISPATCH-1354:
------------------------------------------

ChugR commented on pull request #518: DISPATCH-1354: Annotation processing performance improvements
URL: https://github.com/apache/qpid-dispatch/pull/518
 
 
   Message annotation processing on received messages stages key names
   byte by byte into a flat buffer and then uses strcmp to check them.
   
   Easy improvements are:
   
    * Use name in raw buffer if it does not cross a buffer boundary
    * If name crosses a boundary then use memmoves to get the name in chunks
    * Check the name prefix only once and then check variable parts of name strings
    * Don't create unnecessary qd_iterators and qd_parsed_fields
    * Don't check names whose lengths differ from the given keys
 
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


> Interrouter annotation processing uses slow methods
> ---------------------------------------------------
>
>                 Key: DISPATCH-1354
>                 URL: https://issues.apache.org/jira/browse/DISPATCH-1354
>             Project: Qpid Dispatch
>          Issue Type: Improvement
>          Components: Router Node
>    Affects Versions: 1.7.0
>            Reporter: Chuck Rolke
>            Assignee: Chuck Rolke
>            Priority: Major
>
> Message annotation processing on received messages stages key names byte by byte into a flat buffer and then uses strcmp to check them.
> Easy improvements are:
>  * Use name in raw buffer if it does not cross a buffer boundary
>  * If name crosses a boundary then use memmoves to get the name in chunks
>  * Check the name prefix only once and then check variable parts of name strings
>  * Don't create unnecessary qd_iterators and qd_parsed_fields
>  * Don't check names whose lengths differ from the given keys



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org