Chapitre 12 : Lazy evaluation Flashcards
C’est quoi le principe de la lazy evaluation
remplacement d’un argument par une fonction anonyme pour repousser à plus tard l’évaluation
Exemple des streams
ce sont des séquences (comme pou yield) qui sont mises en mémoire au fur et à mesure
C’est quoi la mémoization
en anglais: Memoization is a technique for improving performance by caching the return values of expensive function calls.
Exemple de fibonnacci pour la memoization en C#
static long FibWithMemo(long counter_inside, bool with_memo = true)
{
if (with_memo)
{
if (my_memo[counter_inside] != 0) return my_memo[counter_inside];
}
my_counter++; if (counter_inside == 0) return 0; if (counter_inside == 1) return 1; my_memo[counter_inside] = FibWithMemo(counter_inside - 1, with_memo) + FibWithMemo(counter_inside - 2, with_memo); return my_memo[counter_inside]; }
Mettre en mémoire une partie des calculs
Stream utilité?
Pour faire des séquences infinis calculé quand cela est nécessaire