Desbordamiento de memoria.

27/07/2004 - 18:37 por Fran | Informe spam
Hola a todo/as.
Tengo un problema de desbordamiento de memoria, al intentar instanciar una
matriz de doubles de (15671 x 26618). Lo que teniendo en cuenta que cada
double son 64 bits, nos dá un resultado de 3 y pico GigaBytes de memoria
para poder almacenar tal cantidad de datos. Mi pregunta es la siguiente, ¿se
le ocurre a alguien una manera de poder tener almacenado estos datos con una
memoria de 512 MB o 1 GB?.
Gracias.

Esta es la asignación de datos a la matriz donde se produce el error de
desbordamiento de memoria:

(j671 e i1&618)
private double[,] grid;
grid = new double[j, i1];

Preguntas similare

Leer las respuestas

#6 Misael Monterroca
28/07/2004 - 18:57 | Informe spam
Se me olvidaba.

¿Cual es el fin de que lo intentas hacer?

Saludos!
http://www.neo-mx.com/blog




"Fran" wrote in message
news:uTmDq$
Un saludo Misael.
Llevar la información a un archivo si se me había ocurrido, aunque con un
archivo binario que se hace prácticamente inviable, así que estoy mirando
cómo trabajar sobre el xml, ya que aún no había trabajado con estos tipos


de
archivos. O sea que sí puede ser viable.
Gracias.


Respuesta Responder a este mensaje
#7 Fran
28/07/2004 - 19:12 | Informe spam
Pretendo modificar una clase utilizada en una aplicación de un excompañero
en la que utilizaba esta estructura de matriz multidimensional para
almacenar los datos que se utilizan en la aplicación (doubles). Pero al dar
con unos índices tan altos para la matriz, la aplicación explota al requerir
tanta memoria para almacenar tal cantidad de información. No quiero
modificar mucho la clase, porque podría no funcionar el resto de la
aplicación.
Gracias.
Respuesta Responder a este mensaje
#8 Misael Monterroca
28/07/2004 - 19:22 | Informe spam
Si es para almacenar datos, no te convendria más el utilizar algun manejador
de base de datos para guardar dicha información (Sql Server o Acces)?

Creo que seria lo más optimo.

Saludos!
http://www.neo-mx.com/blog




"Fran" wrote in message
news:
Pretendo modificar una clase utilizada en una aplicación de un excompañero
en la que utilizaba esta estructura de matriz multidimensional para
almacenar los datos que se utilizan en la aplicación (doubles). Pero al


dar
con unos índices tan altos para la matriz, la aplicación explota al


requerir
tanta memoria para almacenar tal cantidad de información. No quiero
modificar mucho la clase, porque podría no funcionar el resto de la
aplicación.
Gracias.


Respuesta Responder a este mensaje
#9 Néstor Marcel Sánchez Ahumada
29/07/2004 - 03:02 | Informe spam
Hola.

Personalmente gestionaria la información en un archivo binario de 3GB de
tamaño.
O en varios de menor tamaño (hasta podrían ser 15671 de 26KB c/u).
Inicializando el(los) archivo(s) con nada (nulos).

Esto ya que al ser los "doubles" de tamaño fijo (8 bytes), resultaría
bastante rápido accederlos directamente calculando la posición.

Ahora bien, por otra parte, si esto corre en Windows... ¿no se supone que la
memoria virtual debiera extenderse automáticamente, con la consiguiente
degradación de performance, para soportar estos requerimientos?
(estableciendo el archivo de paginación, claro, por sobre los 3GB)

Saludos,


Néstor.

"Fran" wrote in message
news:uArRCg$
Hola a todo/as.
Tengo un problema de desbordamiento de memoria, al intentar instanciar una
matriz de doubles de (15671 x 26618). Lo que teniendo en cuenta que cada
double son 64 bits, nos dá un resultado de 3 y pico GigaBytes de memoria
para poder almacenar tal cantidad de datos. Mi pregunta es la siguiente,


¿se
le ocurre a alguien una manera de poder tener almacenado estos datos con


una
memoria de 512 MB o 1 GB?.
Gracias.

Esta es la asignación de datos a la matriz donde se produce el error de
desbordamiento de memoria:

(j671 e i1&618)
private double[,] grid;
grid = new double[j, i1];


Respuesta Responder a este mensaje
#10 Anonimo
29/07/2004 - 12:12 | Informe spam
Puedes aportar algo de la aplicación ?


Hola a todo/as.
Tengo un problema de desbordamiento de memoria, al


intentar instanciar una
matriz de doubles de (15671 x 26618). Lo que teniendo


en cuenta que cada
double son 64 bits, nos dá un resultado de 3 y pico


GigaBytes de memoria
para poder almacenar tal cantidad de datos. Mi pregunta


es la siguiente, ¿se
le ocurre a alguien una manera de poder tener almacenado


estos datos con una
memoria de 512 MB o 1 GB?.
Gracias.

Esta es la asignación de datos a la matriz donde se


produce el error de
desbordamiento de memoria:

(j671 e i1&618)
private double[,] grid;
grid = new double[j, i1];


.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida