Micro-cache: memoize/cache function results

A simple helper to avoid re-calculating the same results repeatedly.
249 descargas
Actualizado 12 ene 2012

Ver licencia

This is a lightweight mechanism to memoize results of functions that are often repeatedly called with the same arguments. It is indended for small-scale situations -- i.e., the function is called only with a small variety of arguments, for example less than 100, and the arguments (as well as results) are not too big (e.g., no large matrices or data sets). If too many different calls are to be cached, hlp_microcache "forgets about" the oldest ones. Its memory is also lost after MATLAB is closed or after typing "clear all". Different places of a program can independently memoize results of their functions, by calling hlp_microcache with their own unique 'domain' identifier. The overhead is in the ballpark of MATLAB's num2str(), i.e., very low.

Example:

% if this line is executed for the first time, it is as slow as magic(2000)
m = hlp_microcache('test',@magic,2000);

% if it is executed a second time, it is ca. three orders of magnitude faster than m=magic(2000)
m = hlp_microcache('test',@magic,2000);

Citar como

Christian Kothe (2024). Micro-cache: memoize/cache function results (https://www.mathworks.com/matlabcentral/fileexchange/34565-micro-cache-memoize-cache-function-results), MATLAB Central File Exchange. Recuperado .

Compatibilidad con la versión de MATLAB
Se creó con R2008a
Compatible con cualquier versión
Compatibilidad con las plataformas
Windows macOS Linux
Categorías
Más información sobre Fortran with MATLAB en Help Center y MATLAB Answers.
Etiquetas Añadir etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Versión Publicado Notas de la versión
1.0.0.0