{'fraction_non_alphanumeric': 0.011574074074074073, 'fraction_numerical': 0.004629629629629629, 'mean_word_length': 5.313868613138686, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Dynamic memoization for energy efficiency in financial applications

Software applications directly impact on IT energy consumptions as they indirectly guide hardware operations. Optimizing algorithms has a direct beneficial impact on energy efficiency, but it requires domain knowledge and an accurate analysis of the code, which may be infeasible and too costly to perform for large code bases. In this paper we present an approach based on dynamic memoization to increase software energy efficiency. This implies to identify a subset of pure functions that can be tabulated and to automatically store the results corresponding to the most frequent invocations. We implemented a prototype software system to apply memoization and tested it on a set of financial functions. Empirical results show average energy savings of 74% and time performance savings of 79%.