Skip to content

PERF: Improve convolution performances

Luc Hermitte requested to merge lhermitte/otb:speedup_convolution into develop

Improve convolution performances

Summary

Improve convolution performances by 5%-7% on big filters

Rationale

Convolution can be quite inefficient in computation time.

This refactoring:

  • helps the compiler factorising out a test done in a computation loop
  • replaces a division by a multiplication

The speed-up measured is between 5% and 7% on thousands elements wise filters.

Additional notes

Along the way an exception specification has been removed. ITK has already removed these deprecated annotations, a 10ish remain in OTB and should be taken care of eventually before trying to compile OTB with C++17 compilers.

Copyright

The copyright owner is CNES and has signed the ORFEO ToolBox Contributor License Agreement.


Check before merging:
  • All discussions are resolved
  • At least 2 👍 votes from core developers, no 👎 vote.
  • The feature branch is (reasonably) up-to-date with the base branch
  • Dashboard is green
  • Copyright owner has signed the ORFEO ToolBox Contributor License Agreement

Merge request reports