vtk-m/docs/changelog/arrayhandlegroupvecvariable.md
Vicente Adolfo Bolea Sanchez 9d0da855b3 ConvertNumComponentsToOffsets using ScanExtented vs. ScanExclusive
This commit also:
- Removes a corner case not longer used at ArrayPortalGroupVecVariable::get
- Changes doc regarding the number of offset elements in the input
  array handler of ConvertNumComponentsToOffsets.
- Updates invokation of make_ArrayGroupVectVariable in multiple files
- Adds its corresponding changelog entry
2020-03-05 10:57:34 -05:00

986 B

ArrayHandleGroupVecVariable holds now one more offset.

This change affects the usage of both ConvertNumComponentsToOffsets and make_ArrayHandleGroupVecVariable.

The reason of this change is to remove a branch in ArrayHandleGroupVecVariable::Get which is used to avoid an array overflow, this in theory would increases the performance since at the CPU level it will remove penalties due to wrong branch predictions.

The change affects ConvertNumComponentsToOffsets by both:

  1. Increasing the numbers of elements in offsetsArray (its second parameter) by one.

  2. Setting sourceArraySize as the sum of all the elements plus the new one in offsetsArray

Note that not every specialization of ConvertNumComponentsToOffsets does return offsetsArray. Thus, some of them would not be affected.

Similarly, this change affects make_ArrayHandleGroupVecVariable since it expects its second parameter (offsetsArray) to be one element bigger than before.