cache function results to save time
At some point it will be a PITA timewise to run this configuration because it calls a lot of functions many times.
There is already a cache for Algorithms
and Tools
, so that they do not have to be created multiple times (in case they are configured the same way), but to determine that they are the same, we have to calculate the id/hash, which is the actual heavy lifting, so we actually do not save much with these caches.
A proposal would be to have (@configurable
) functions memoize, so that we do not have to go up the entire call stack calculating hashes every time.
This implies that functions do not have side effects, but i do not consider this a problem since we do not want this anyway.
Not sure whether/how we want to do this for not @configurables.
TODOs:
-
make @configurable
functions memoize -
employ a configuration speed test