kicad/libs
Céleste Wouters e98c9f283f Improve SHAPE_POLY_SET fracture performance
Refactors `SHAPE_POLY_SET::fractureSingle()` to be more efficient, while
not changing the actual algorithm:

* increase cache locality by using contiguous arrays instead of what was
effectively a linked list
* reduce latency and jitter by replacing per-edge allocator calls with
ahead-of-time std::vector reserves
* increase cache efficiency by making the vertex struct smaller
* replace O(n^2) leftmost edge search with O(n log n) std::sort
* sort the polygons instead of the edges
* cut iteration count in half in the remaining O(polygons * edges) part
2024-03-27 21:19:02 +00:00
..
core Fix build breakage due to missing header 2024-03-21 03:15:14 +00:00
kimath Improve SHAPE_POLY_SET fracture performance 2024-03-27 21:19:02 +00:00
kiplatform Disable infinite panning when using XWayland. 2024-03-12 10:31:23 +03:00
sexpr Unwrap the FROM_UTF8 macro in favor of direct function 2023-09-09 00:10:57 -04:00
CMakeLists.txt Introduce core interface library 2023-04-06 15:01:18 +01:00