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).
modmesh::detail::compute_boolean_with_decomposition()(inpolygon.hpp:2847) has potential performance hotspots of creating lambda closurefind_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 (outsidepolygon.hpp), and all lambdas should be turned into member functions.This issue is to track the work mentioned in #693 (comment).