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

Andrew Stitcher commented on PROTON-1984:
-----------------------------------------

This can be fixed by changing the pni_data_traverse interface so that node 
indices are passed to the enter and exit functions rather than nodes. It is a 
simple O(1) operation to get the node from the index.

> [c] pn_data_inspect has order n^2 running time
> ----------------------------------------------
>
>                 Key: PROTON-1984
>                 URL: https://issues.apache.org/jira/browse/PROTON-1984
>             Project: Qpid Proton
>          Issue Type: Bug
>          Components: proton-c
>            Reporter: Andrew Stitcher
>            Assignee: Andrew Stitcher
>            Priority: Major
>
> pni_node_index which is used in a couple of places to find out the index of a 
> node inside a pn_data_t has a run time that is linear in the size of the 
> level of the pn_data_t it is at.
> pni_inspect_enter and pni_inspect_exit which are called for every node in the 
> pn_data_t when traversing it using pn_data_inspect use pni_node_index. This 
> means that the overall time complexity is n^2 in the size of any embedded 
> compound data structure (array, list, map).
> So for large compound data structures this can take an extremely long time.



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

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to