Skip to content

Profile and refactor polygon Boolean #694

@yungyuc

Description

@yungyuc

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).

Metadata

Metadata

Assignees

Labels

geometryGeometry entities and manipulationperformanceProfiling, runtime, and memory consumption

Type

Projects

Status

In Progress

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions