ADRIA: Adaptive Dynamic Reef Intervention Algorithms. A multi-criteria decision support platform for informing reef restoration and adaptation interventions.
MIT License
14
stars
5
forks
source link
Improvements to model performance by reducing allocations #871
There are further performance optimizations potentially possible within CoralBlox and elsewhere in ADRIA, but seems to be mostly around determining strategies to avoid the GC.
We could even see if it is possible to make key functions completely allocation free and turning off the GC for those...
A swathe of changes to the simulations to improve runtime performance, principally by reducing the volume of allocations.
Includes purpose-specific weighted sum function for use when determining DHW tolerance thresholds.
Before:
After:
Error between approaches:
Error calculation was determined by serializing raw results to disk and then comparing the absolute maximum difference:
There are further performance optimizations potentially possible within CoralBlox and elsewhere in ADRIA, but seems to be mostly around determining strategies to avoid the GC.
We could even see if it is possible to make key functions completely allocation free and turning off the GC for those...
Update:
After some more tweaks