Skip to content

Performance improvements

Shriwise, Patrick requested to merge performance_improvements into development

These changes cut ~200 s off the runtime of the ABTR example sent to me by @nstauff. It mostly is removal of unused indices produced by a lot of enumerate and creation of variables to replace str() calls inside of for-loops. The removal of str had a particularly big effect as it was 1) deducing types, 2) allocating memory for a new string and 3) converting the value to a string for each iteration of those loops.

I then did some refactoring of the fill_model_datastructure. This was mainly to make it easier to follow, but there are some minor optimizations there as well that involve reduced branching of the code resulting in fewer conditional checks.

Merge request reports