Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Memoization... o como hacer que nuestras funcio...

Memoization... o como hacer que nuestras funciones tengan memoria

Avatar for Kerry Pérez

Kerry Pérez

July 05, 2017
Tweet

More Decks by Kerry Pérez

Other Decks in Technology

Transcript

  1. ¿Qué es Memoization? - Es una técnica sencilla que permite

    almacenar los resultados procesados por una función en un cache. - Las funciones ‘recuerdan’ los valores procesados siempre que los parámetros de entrada sean los mismos.
  2. public String heavyProcess(String param){ String result; if(cache.get(param) != null){ result

    = cache.get(param); } else{ result = //process param cache[param] = result; } return result; }
  3. A tener en cuenta - Para aprovechar bien esta técnica

    el resultado de la función solo debe depender de los parámetros de entrada. Si necesitas utilizar algún otro dato debes pasarlo a la función como parámetro. - El tiempo en procesar la información debe ser mayor al tiempo que toma recuperar la información de los valores almacenados.