[ 
https://issues.apache.org/jira/browse/DISPATCH-1642?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ken Giusti resolved DISPATCH-1642.
----------------------------------
    Fix Version/s:     (was: Backlog)
                   1.13.0
       Resolution: Fixed

> Avoid extra search when adding address configs to parse tree
> ------------------------------------------------------------
>
>                 Key: DISPATCH-1642
>                 URL: https://issues.apache.org/jira/browse/DISPATCH-1642
>             Project: Qpid Dispatch
>          Issue Type: Improvement
>          Components: Router Node
>    Affects Versions: 1.12.0
>            Reporter: Ken Giusti
>            Assignee: Ken Giusti
>            Priority: Minor
>             Fix For: 1.13.0
>
>
> Configured address patterns are stored in a parse tree.  When new addresses 
> are created the code first searches the parse tree to see if the address 
> already exists in order to avoid adding duplicate addresses.   If there is no 
> duplicate the code then calls the parse tree insertion function.
> This is sub-optimal.  The likely case is that the address does not exist in 
> the parse tree.  This means the first search (for duplication) will result in 
> searching the entire tree, which devolves to O(n).
> Currently the parse tree insertion code resolves duplication by replacing the 
> existing node's data with the new data.  If instead we treated this as a 
> duplication error and avoided the insertion we could avoid the extra lookup 
> and just let the insertion code do the duplication check for us (single pass).
> This lookup then insert pattern is used in agent_config_address.c and 
> route_control.c.  Search for calls to qd_parse_tree_get_pattern().
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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

Reply via email to