Simplify and optimize TestingScheme #755
Labels
class::performance
Performance related issues
model::abm
This issue concerns any kind of agent-based model.
prio::moderate
The priority of this task is moderate.
Motivation / Current Behaviour
The TestingScheme is currently one of the most expensive parts of the main simulation loop. There is also a lot of dynamic data (vectors). There are significant performance gains possible.
Enhancement description
Each of the first two changes is ~5% runtime. The first change is always good. the gain for the second change depends on how often there are testingschemes with multiple criterias. Right now there is always only one Criteria anyway. If this leads to many more TestingSchemes, it may not improve performance. But the code is still much simpler.
The third change needs to be discussed. But the potential gain is huge, not running the schemes or only running them conditionally potentially decreases runtime by 50%.
An almost finished implementation of the first two changes is here: 629-parallelize-abm-optimize-testing
Additional context
No response
Checklist
The text was updated successfully, but these errors were encountered: