[sample_consensus] Optimize Ellipse3D build performance#6428
[sample_consensus] Optimize Ellipse3D build performance#6428AlrIsmail wants to merge 1 commit intoPointCloudLibrary:masterfrom
Conversation
|
I noticed that sac_model_ellipse3d was really slowing down the build, so I tried to optimize it by de-templating the math kernels (inspired by what's already being done in the Cylinder and Cone modules). I'd love to hear what you think of the approach |
b8e5a16 to
8d85945
Compare
Refactor heavy mathematical kernels into non-templated pcl::internal functions. Reduces header parsing time by ~95% and module build time by ~44%. Ensures axis stability through explicit normalization during refinement. Includes PCL_EXPORTS for full Windows DLL compatibility. Follows PCL hybrid pattern and style guide.
638e80e to
c40a8b9
Compare
|
Thank you for your pull request. I agree that there are opportunities to optimize in the ellipse3D model, however you put several independent changes into this pull request ( For reference, here is the build time analysis of only sac_model_ellipse3d.cpp: You can see that On the other hand, And for So in conclusion, I would ask you to analyse each independent code change ( |
This pull request refactors and modularizes the 3D ellipse sample consensus model implementation in PCL. The main changes involve moving previously private or static methods and structures from the
SampleConsensusModelEllipse3Dclass into a newpcl::internalnamespace, improving code organization, testability, and separation of concerns. Additionally, key geometric and optimization routines are now defined and documented as standalone functions, and template instantiation is updated for clarity. (#3414)Impact
Changes