Muy buenas de nuevo.
Resulta que tengo una sección de código que me está dando quebraderos de cabeza pues al ejecutarse me da un 'out of memory'.
Voy a poner de manera resumida el código que afecta. Se trata de un proceso que para realizar cálculos estadísticos genera varios millones de elementos, y ordena. Esto de manera reiterada, el problema es que en cada iteración, seguramente, no sé liberar bien la memoria.
Este es el código en cuestión:
Código Delphi
[-]
var
listaPunteros : puntero of TRegistro;
listaArray : array of TRegistro;
begin
for i:=o to n do
SetLength(listaArray,0);
Dispose(listaPunteros);
listaPunteros := nil;
listaPunteros := generaLista(); ordenarLista_QuickSort(listaPunteros);
listaArray:= lista2Array(listaPunteros);
end;
Bien, el por qué de hacerlo así con punteros de manera intermedia, es porque los tiempos de ejecución de este proceso en particular son muy diferentes a trabajar unicamente con arrays.
¿Podéis echarme una mano?
Gracias y un saludo.