Thanks you for your work.
Some comments:
ImageVariable.patch: This I need to check. This is a big change and I want to 
understand it before committing it.

ImageVariableGroup.patch: This code and similar one is used at several
places. Would it also help to inline the getimage function to achieve
the same/similar speed improvement?

GreatCircles.patch: Already pushed to repository.

GreatCircles-image.patch: Instead of the workaround (and the same or
similar code is used at several places through the whole repository) we
should fix the initialization of the SrcPanoImage class. I tried to
rewrite the initialization of this class with modern C++. Could you
please try if the attached patch brings the same effect?

-- 
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:
  New

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

Reply via email to