Skip to content

Extended Memory Optimisations

Hans-Nikolai Viessmann requested to merge hans/sac2c:hans-emr into develop

This MR adds the Extended Memory Reuse (EMR) related optimisations that effectively reduce the number of memory allocations by reusing memory from previously allocated hunks that are no longer referenced. This is achieved by extending the life-times of arrays within blocks. Additionally we are able to lift allocations out of the body of inner-most loops.

Further additions:

  • extended runtime profiler to collect memory-related metrics (runtime counts) - this is distinct from the PHM diagnostics output
  • minor fixes to some of the traversals in memory/
  • minor fixes to the tests framework

Some things still need doing

  • add tests
  • cleanup code
  • documentation
Edited by Hans-Nikolai Viessmann

Merge request reports