me gusta definir secuencias recursivamente de la siguiente manera:¿Las secuencias recursivas pierden memoria?
let rec startFrom x =
seq {
yield x;
yield! startFrom (x + 1)
}
No estoy seguro de si las secuencias recursivas como este deben ser utilizados en la práctica. El yield!
aparece como cola recursiva, pero no estoy 100% seguro ya que se llama desde dentro de otro IEnumerable. Desde mi punto de vista, el código crea una instancia de IEnumerable en cada llamada sin cerrarla, lo que realmente haría que esta función también perdiera memoria.
¿Esta función perderá la memoria? Para el caso, ¿es incluso "cola recursiva"?
[Editar para añadir]: Estoy buscando a tientas NProf para obtener una respuesta, pero creo que sería útil obtener una explicación técnica sobre la implementación de secuencias recursivas en SO.
>> "Desafortunadamente, no tengo experiencia en el perfil, entonces puedo 't encontrar la respuesta por mi cuenta ". ¿Algún tipo de broma? ¿Cómo se obtiene experiencia? – user79755
Para el registro estoy viendo NProf en este momento, pero esperando obtener una respuesta más rápida y una explicación técnica sobre SO. – Juliet