Abstract An optimisation technique Store the results of expensive function calls and return the cached result when the same inputs occur again This helps avoid redundant computations and improves the overall performance of the program