Ver Mensaje Individual
  #5  
Antiguo 13-10-2008
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.000
Reputación: 25
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
Creo que deberías utilizar "bancos", por ejemplo de 1.000 elementos cada uno. En cada momento sólo tienes 10 bancos en memoria mientras que en disco estarán todos. Cuando necesitas un dato de un banco determinado primero compruebas si está cargado en memoria. De no estarlo, lo carga. Si no hay espacio para tener más bancos en memoria, comprueba qué banco es el más "viejo" o el que ha sido utilizado menos veces y lo liberas (guardándolo primero en disco si ha sido modificado) para dejar sitio al nuevo banco.

Esto no sólo hará que necesites menos memoria sino también que vaya más rápido a la hora de modificar la lista en disco, ya que dudo que vayas a modificar todos los 2,000.000 de elementos en una sola vez.
__________________
Proyectos actuales --> Allegro 5 Pascal ¡y Delphi!|MinGRo Game Engine
Responder Con Cita