Ver Mensaje Individual
  #11  
Antiguo 09-09-2008
Cheerpipe Cheerpipe is offline
Miembro
 
Registrado: oct 2006
Posts: 46
Reputación: 0
Cheerpipe Va por buen camino
Creo que una buena alternativa para esto, podria ser crear una lista enlazada manualmente reservando memoria con LocalAlloc, una lista enorme, muy muy grande, luego aplicas el comando:

SetProcessWorkingSetSize(GetCurrentProcess, $FFFFFFFF, $FFFFFFFF);

con eso disminulles en algo la fragmentacion de la lista.

La lista pude contener como modulo de datos na variable de widestring para acumular mas memoria.

Luego la llenas y tomas el tiempo de lo que tardaste. Asi usas poco procesador y el tiempo sera el que tomara el PC en escribir los bytes correspondientes. Claro que esta es una forma muuuy arcaica de probar la velocidad. lo ideal seria reservar una cantidad compacta de unos cientos de megas, y escribir manualmente en ella. No se si en delphi se puede hacer eso, con C/C++ si puedes. Ademas hay distintos tipos de accesos a memoria, ahi tendrias que usar incluso ensamblador para probar accesos directos, indexados, y como eel disco duro, accesos secuenciales y aleatorios.
Responder Con Cita