ITK 5.0 Alpha 2: Performance

May 29, 2018

ITK 5.0 Alpha 2 is ready for testing!

ITK 5.0 Alpha 2 emphasizes performance improvements: 1) A refactored multithreading infrastructure, 2) in ITK 5, a thread pool is available by default, 3) an Intel Threading Building Blocks (TBB) threading backend with dynamic region splitting, 4) improved image iterator performance, 5) simple APIs to execute functions in parallel, 6) simple construction of unary and binary generator image filters filters, and 7) new, experimental C++11 range classes for iteration in range-based for loops.

For more information, please see the full release announcement.

ITK Performance Benchmarks, lower is better, for ITK 4.13.0, ITK 5.0 Alpha 2 with the platform thread pool, and ITK 5.0 Alpha 2 with TBB. ITK 5.0 advances performance in general, especially with the TBB threading backend.

 

Enjoy ITK!

4 comments to ITK 5.0 Alpha 2: Performance

  1. Hi Matt,
    We have been using this version for a month now and we are very pleased. This is a great improvement.
    I have a question for you, we have some unit tests that are using ITK, when running in the RELEASE version it takes about 45 secs to complete. But when running in DEBUG, it takes more than 40 minutes.
    I understand that the code is generated differently in DEBUG and validations are performed, and we are happy with that (in fact that is what we want), but it is taking a very long time…
    Thank you for your good work.

  2. Hi Martin,

    Thank you for the feedback.

    Yes, the difference between Release and Debug mode builds can be dramatic.

    An option that combines both that may be of interest is the “RelWithDebInfo” CMake build type. This builds with “-O2 -g” flags, i.e. it includes debug symbols but also many optimization.

    Matt

  3. ITK 5 Beta 1, which includes more major performance-related improvements added since ITK Alpha 2, is anticipated over the next few weeks. The final release of 5.0.0 is a few months out.

Leave a Reply