<p dir="ltr">Thank you :)</p>
<div class="gmail_quote">On Mar 2, 2016 3:03 AM, "Henning Rogge" <<a href="mailto:hrogge@gmail.com">hrogge@gmail.com</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Wed, Mar 2, 2016 at 6:56 AM, Diogo Gonçalves<br>
<<a href="mailto:diogomachadogoncalves@gmail.com">diogomachadogoncalves@gmail.com</a>> wrote:<br>
> Hi all,<br>
><br>
> I have looked at the management of avl_insert function about its non unique<br>
> keys. Today the function inserts the key at end of the linked list from the<br>
> avl node with the same key, as all nodes in the list have the same key,<br>
> there is a difference between insert at the beginning or at the end of the<br>
> list? Why is it not inserted at the begin of the list? Insert the key at the<br>
> beginning is cheaper.<br>
<br>
I must admit I have no clue... the AVL functions are a direct copy<br>
from olsrd, which were written before I joined the project. There were<br>
so much code to rewrite that I did not dive into the AVL one.<br>
<br>
GOOD catch!<br>
<br>
( I hope my dijkstra implementation was not too difficult to read )<br>
<br>
> The second point is that when key to be inserted is a unique key in the<br>
> tree, the function finds the last node of it parent node's linked list. It<br>
> is not necessary when the key is inserted in the left of the node.<br>
<br>
> I did some changes in the avl_insert function that try to optimize these<br>
> points[1]. The graphs (attached) show the improvement of performance in<br>
> _insert_into_working_tree function and the its results in<br>
> _handle_working_queue and _run_dijkstra functions.<br>
<br>
The performance analysis looks VERY good...<br>
<br>
if the avl_test runs through I would like you to merge your code into<br>
the master branch.<br>
<br>
Henning Rogge<br>
</blockquote></div>