Avoid unnecessary copy of queue in IncrementalTriangulator::Complete()#2764
Avoid unnecessary copy of queue in IncrementalTriangulator::Complete()#2764
Conversation
|
Not sure how we overlooked this. But this update does not seem correct? The second level of transitivitiy will never get executed since the queue is already empty. |
|
I'll have a look tonight. How did you notice it? Different behavior observed? |
|
Please double check: #3094 I just evaluated this fix against the main branch with the new benchmark suite and the A/B comparison looks like this. It's still a bug that should be fixed. |
No different behavior observed. Noticed since another project was looking into the
I think the previous logic was basically infinite depth transitivity since the transitivity was not updated. So even if there is different in A/B test, fixing this bug can only make the results worse but can potentially lead to faster results (which is not reflected in the test). The bug should be fixed in the sense that the |
The order in which the points are completed does not matter, so the change of FIFO to LIFO queue produces the same results.