Autor
|
Tema: tamaño máximo de una list<> (Leído 3,883 veces)
|
solkan05
Desconectado
Mensajes: 14
|
Alguien sabe el tamaño maximo que acepta de datos una list<> el problema es que estoy trabajanddo con imagenes de satelites, estoy generando por un método una imagen mucho más grande y llega el momento que la lista explota con solo 16 777 216 datos
|
|
|
En línea
|
|
|
|
eferion
Desconectado
Mensajes: 1.248
|
El template list creo que utiliza un índice de tipo int. Generalmente un int son 31 bits ( 32 si cuentas con el signo ). Aun asi dependiendo de la maquina y el compilador su tamaño puede variar.
En el caso que te expongo tendrias 2147483648 posiciones.
|
|
|
En línea
|
|
|
|
Alien-Z
Desconectado
Mensajes: 177
C++ Programmer
|
Alguien sabe el tamaño maximo que acepta de datos una list<> el problema es que estoy trabajanddo con imagenes de satelites, estoy generando por un método una imagen mucho más grande y llega el momento que la lista explota con solo 16 777 216 datos
Es evidente, si dices que estás almacenando imágenes de gran tamaño y llegas a tener 16 777 216 es normal que no haya memoria suficiente. La solución a esto es trabajar conjunto con el disco duro, ve guardando las imágenes que no utilices y cárgalas cuando las necesites (por ejemplo llevando una list<> de sus identificadores y no almacenando la foto en sí); la memoria RAM es demasiado limitada para lo que intentas. Saludos.
|
|
« Última modificación: 23 Agosto 2013, 09:31 am por Alien-Z »
|
En línea
|
|
|
|
do-while
Desconectado
Mensajes: 1.276
¿Habra que sacarla de paseo?
|
Es evidente, si dices que estás almacenando imágenes de gran tamaño y llegas a tener 16 777 216 es normal que no haya memoria suficiente. La solución a esto es trabajar conjunto con el disco duro, ve guardando las imágenes que no utilices y cárgalas cuando las necesites (por ejemplo llevando una list<> de sus identificadores y no almacenando la foto en sí); la memoria RAM es demasiado limitada para lo que intentas.
Saludos.
Eso es. Aunque la cantidad de datos almacenados en la lista esté lejos del límite de la lista, tienes que tener en cuenta que si estás trabajando con un sistema de 32 bits, la cantidad máxima de RAM de que dispone tu programa son 4GB (2^32 bytes), por lo tanto la cantidad máxima de imágenes que puedes almacenar, suponiendo que todas las imágenes ocupen la misma cantidad de bytes, estará cerca de 2^32/tamaño_en_bytes_imagen. A partir de ahí el programa reventará, así que, como ya te han dicho, tendrás que ir tirando de disco duro. ¡Saludos!
|
|
|
En línea
|
- Doctor, confundo los números y los colores. - Vaya marrón. - ¿Marrón? ¡Por el culo te la hinco!
|
|
|
amchacon
Desconectado
Mensajes: 1.211
|
Eso es. Aunque la cantidad de datos almacenados en la lista esté lejos del límite de la lista, tienes que tener en cuenta que si estás trabajando con un sistema de 32 bits, la cantidad máxima de RAM de que dispone tu programa son 4GB (2^32 bytes) Un programa de 32 bits solo puede dirrecionar 2 gb. Supongo que lo estará haciendo en 64 bits para aprovechar toda la memoria. Mi consejo esque hagas un vector de listas: vector<list<Planetas> >
También puedes plantearte el algoritmo y considerar si de verdad necesitas tener todo en la ram.
|
|
« Última modificación: 23 Agosto 2013, 10:05 am por amchacon »
|
En línea
|
|
|
|
rir3760
Desconectado
Mensajes: 1.639
|
Lo usual en un sistema con direcciones de 32 bits es acceder a 4GB de memoria (2^^32 es igual a 4,294,967,296). En el caso de MS Windows una referencia en linea es Virtual Address Space. Un saludo
|
|
|
En línea
|
C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly. -- Kernighan & Ritchie, The C programming language
|
|
|
amchacon
Desconectado
Mensajes: 1.211
|
Lo usual en un sistema con direcciones de 32 bits es acceder a 4GB de memoria (2^^32 es igual a 4,294,967,296). Eso es para el SO. Los programas solo pueden adceder a 2 gb, lo pone en el mismo link y es muy fácil demostrarlo: https://dl.dropboxusercontent.com/u/69551225/Saturar_Memoria.exeComo puedes ver, aún me queda más de 1 GB de memoria sin usar. Si compilo el programa en 64 bits, me ocupa toda la memoria.
|
|
|
En línea
|
|
|
|
solkan05
Desconectado
Mensajes: 14
|
gracias por la ayuda, pero les diré que esuna sola imagen, y necesito ahora alguna bibliografia que me diga como ir almacenando parte de esta directo al disco duro reservando un espacio de este gracias
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Aumentar tamaño maximo de archivos para subir?
PHP
|
Joystickoso
|
2
|
4,655
|
18 Agosto 2009, 22:36 pm
por Joystickoso
|
|
|
Sobre tamaño máximo de password en facebook
Dudas Generales
|
omeprazol
|
5
|
7,315
|
28 Abril 2011, 06:13 am
por .:UND3R:.
|
|
|
Tamaño maximo de archivo.
Programación Visual Basic
|
Elemental Code
|
2
|
2,787
|
30 Diciembre 2011, 03:00 am
por cobein
|
|
|
Ram maximo como tamaño fisico y virtual?
Hardware
|
akodo
|
7
|
3,103
|
11 Septiembre 2015, 17:27 pm
por Randomize
|
|
|
¿Que tamaño máximo incorporo a la subida de archivos a mi aplicación web?
PHP
|
Drakaris
|
5
|
3,104
|
5 Noviembre 2018, 22:55 pm
por AlbertoBSD
|
|