-
Notifications
You must be signed in to change notification settings - Fork 58
Profile and refactor polygon Boolean #694
Copy link
Copy link
Labels
geometryGeometry entities and manipulationGeometry entities and manipulationperformanceProfiling, runtime, and memory consumptionProfiling, runtime, and memory consumption
Description
modmesh::detail::compute_boolean_with_decomposition() (in polygon.hpp:2847) has potential performance hotspots of creating lambda closure find_crossing() in nested tight loops. It is also too long (300+ lines).
Profile to confirm or falsify performance concerns. Significant mockup data need to be created for meaningful profiling.
The helper function also overuses lambdas. The helper function (compute_boolean_with_decomposition()) should be refactored to a helper class, moved to standalone files (outside polygon.hpp), and all lambdas should be turned into member functions.
This issue is to track the work mentioned in #693 (comment).
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
geometryGeometry entities and manipulationGeometry entities and manipulationperformanceProfiling, runtime, and memory consumptionProfiling, runtime, and memory consumption
Type
Projects
Status
In Progress