EN FR
EN FR


Section: New Software and Platforms

Memoization

Keywords: Optimization - Pure function - Memoization

Functional Description: Memoization is a technique used at runtime that consists in caching results of pure functions and retrieving them instead of computing it when the arguments repeat. It can be applied to C and C++ programs. To be memoized, the interface of a pure function (or a method) must verify the following properties: (1) the function/method has at most four arguments of same type T, (2) the function/method returns a data of type T, (3) T is either ’double’, ’float’, or ’int’.

The memoization operation of a function/method is controlled by several parameters: the size of the internal table (number of entries), the replacement policy to be used in case of index conflict (whether the value of the table must be replaced or not), an approximation threshold that allows to not distinguish very close values). It is also possible to initialize the table with the content of a file, and to save the content of the table to a file at the end of the execution (the data may be used as input for a future execution).

  • Participants: Loïc Besnard, Imane Lasri and Erven Rohou

  • Contact: Loïc Besnard