Skip to content
Snippets Groups Projects
  • Neil Vaytet's avatar
    1d1e5b7c
    Refs #20443 : Threading of Strings::join() · 1d1e5b7c
    Neil Vaytet authored
    This uses openmp threads to speed up the `Strings::join()` function which was causing CreateWorkspace to be excessively slow when writing to the algorithm history.
    The speedup is not fantastic as it still takes about 8s to create a 1000x10000 workspace (using 8 threads), but it is an improvement on the 60s yielded by the original function.
    
    A new version of the `join()` function was actually added to `Strings.h`, and is used when the iterators passed as arguments are not random access in nature. If this is the case, then the original function is used.
    
    A test was added to `StringsTest.h` to make sure both `join()` functions are being tested.
    1d1e5b7c
    History
    Refs #20443 : Threading of Strings::join()
    Neil Vaytet authored
    This uses openmp threads to speed up the `Strings::join()` function which was causing CreateWorkspace to be excessively slow when writing to the algorithm history.
    The speedup is not fantastic as it still takes about 8s to create a 1000x10000 workspace (using 8 threads), but it is an improvement on the 60s yielded by the original function.
    
    A new version of the `join()` function was actually added to `Strings.h`, and is used when the iterators passed as arguments are not random access in nature. If this is the case, then the original function is used.
    
    A test was added to `StringsTest.h` to make sure both `join()` functions are being tested.
Code owners
Assign users and groups as approvers for specific file changes. Learn more.