You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This method iterates over all the remaining edges of a polygons to check if a given edge intersects any of them .Currently the method is called when curing local intersections or splitting the polygon which is iterating over the polygon edges so it is potentially a O(n^2) on the edges of the polygon.
The calls are performed on a big conditional but currently the calls are not done in the last position. So just moving the call to the last position brings a very nice performance improvement. For example for the polygons shared on #11777:
FE-24544446.txt:
without change: 542.682 seconds
with change: 229.524 seconds
ORG-24132378.txt:
without change: too long, I did not have patience to let it finish.
with change: 1416.57 seconds
The text was updated successfully, but these errors were encountered:
Description
This method iterates over all the remaining edges of a polygons to check if a given edge intersects any of them .Currently the method is called when curing local intersections or splitting the polygon which is iterating over the polygon edges so it is potentially a O(n^2) on the edges of the polygon.
The calls are performed on a big conditional but currently the calls are not done in the last position. So just moving the call to the last position brings a very nice performance improvement. For example for the polygons shared on #11777:
FE-24544446.txt:
without change: 542.682 seconds
with change: 229.524 seconds
ORG-24132378.txt:
without change: too long, I did not have patience to let it finish.
with change: 1416.57 seconds
The text was updated successfully, but these errors were encountered: