Thanks again. I committed most patches to repository (some were slightly modified).
For ImageVariableGroup.patch: I made Panorama::getImage inline. GetImage should only return the address of the SrcPanoImage class, nothing more is happen in this function. I don't know why this should be so expensive (or is the lookup in the std::vector so expensive?) ** Changed in: hugin Status: New => Fix Committed ** Changed in: hugin Milestone: None => 2018.2beta1 -- You received this bug notification because you are a member of Hugin Developers, which is subscribed to Hugin. https://bugs.launchpad.net/bugs/1778802 Title: PATCH: speed improvements Status in Hugin: Fix Committed Bug description: I tried to profile hugin on a large project with 500 images and 100000 control points. I identified and fixed some bottlenecks: ImageVariable.patch - reimplemented ImageVariable with shared_ptr - reduces complexity from O(n) to O(1) ImageVariableGroup.patch - move some method calls out of a loop GreatCircles.patch - reduce number of segments for short lines GreatCircles-image.patch - HuginBase::SrcPanoImage is expensive, initialize equirectangularImage only once To manage notifications about this bug go to: https://bugs.launchpad.net/hugin/+bug/1778802/+subscriptions _______________________________________________ Mailing list: https://launchpad.net/~hugin-devs Post to : hugin-devs@lists.launchpad.net Unsubscribe : https://launchpad.net/~hugin-devs More help : https://help.launchpad.net/ListHelp