If one accesses many different caches or many different regions of one cache in equations inside a loop, the runtime is overproportional increasing compared to the same operations done only with scalar values. Find a solution for caching the relevant parsing steps instead of re-calculating them every time.
Analysis:
This can only be done with multiple changes:
parser_getIndices(). This way, all optimizations of the index evaluation are distributed to all relevant locations.Implementation:
Change was implemented as proposed by the analysis. In addition, multiple changes were done in Loop::calc() so that the function after the first iteration knows, which of its parts is necessary for the current equation. A runtime improvement up to a factor 4 was achieved. Implementation test were passed successfully.
Documentation:
Not needed. Internal change without a change in functionality.
Tests:
Durability tests returned no deviations. Change implemented successfully.
Anonymous
Diff:
Diff:
Diff:
Diff: