Articles of gestión de memoria de

Usar la salmuera de Python en Sage da como resultado un alto uso de memoria

Estoy usando el software Sage Mathematics basado en Python para crear una lista muy larga de vectores. La lista contiene aproximadamente 100,000,000 de elementos y sys.getsizeof () me dice que tiene un tamaño de poco menos de 1GB. Esta lista la escurro en un archivo (que ya lleva mucho tiempo, pero es bastante justo). Sólo […]

Python – Liberar / reemplazar una variable de cadena, ¿cómo se maneja?

Digamos que passWd una contraseña en texto sin formato en una variable llamada passWd como una cadena. ¿Cómo libera Python esta variable una vez que la descarte (por ejemplo, con del passWd o passWd= ‘new random data’ )? La cadena se almacena como una matriz de bytes, lo que significa que se puede sobrescribir en […]

Reducir la huella de memoria numpy en aplicaciones de larga ejecución

En mi aplicación se generan y se llenan con datos cien arreglos numpy (1000 elementos complejos cada uno). Luego, en muchas iteraciones, los elementos de la matriz se modifican una y otra vez. Después de la generación inicial, el monitor del sistema reporta alrededor de 50 Mb de uso de RAM. Aunque no estoy generando […]

Uso de la memoria de Python

Así que tengo un código que toma un conjunto de archivos, une lo que puede y los grafica. Estoy publicando la mayor parte de mi código en un bash de hacerlo más legible, se puede agregar más si es necesario for paths,dirs,files in os.walk(start_path): for d in dirs: path = start_path + changedir + d […]

El script de Python sabe cuánta memoria está usando

¿Cómo puede un script de python saber la cantidad de memoria del sistema que está usando actualmente? (asumiendo un sistema operativo basado en Unix)

¿Cómo mido el uso de memoria de un objeto en Python?

Tengo una clase de python “foo” que contiene: datos (ints, flotadores) Listas (de entradas, de carrozas y de otros objetos) Diccionarios (de entradas, de carrozas, de otros objetos). Suponiendo que no hay referencias atrasadas (ciclos), ¿hay una manera fácil de medir el uso total de memoria de un objeto “foo”? Esencialmente, estoy buscando una versión […]

¿Por qué crear una clase en Python es mucho más lento que crear una clase?

Descubrí que la creación de una clase es mucho más lenta que la creación de instancias de una clase. >>> from timeit import Timer as T >>> def calc(n): … return T(“class Haha(object): pass”).timeit(n) <> >>> calc(9000) 15.947055101394653 >>> calc(9000) 17.39099097251892 >>> calc(9000) 18.824054956436157 >>> calc(9000) 20.33335590362549 Sí, crear 9000 clases tomó 16 segundos y […]

¿Por qué la unión consume más memoria si el argumento es un conjunto?

Estoy desconcertado por este comportamiento de asignación de memoria de set s: >>> set(range(1000)).__sizeof__() 32968 >>> set(range(1000)).union(range(1000)).__sizeof__() # expected, set doesn’t change 32968 >>> set(range(1000)).union(list(range(1000))).__sizeof__() #expected, set doesn’t change 32968 >>> set(range(1000)).union(set(range(1000))).__sizeof__() # not expected 65736 ¿Por qué usar un set como argumento duplica la cantidad de memoria utilizada por el set resultante? El resultado […]

¿Guardar memoria para lista en Python?

Al progtwigr en Python, ¿es posible reservar memoria para una lista que se llenará con un número conocido de elementos, para que la lista no se reasigne varias veces mientras se construye? He buscado en los documentos un tipo de lista de Python y no he encontrado nada que parezca hacer esto. Sin embargo, este […]

¿Cómo forzar el diccionario de Python para reducir?

Lo he experimentado en otros idiomas. Ahora tengo el mismo problema en Python. Tengo un diccionario que tiene muchas acciones de CRUD. Se podría suponer que eliminar elementos de un diccionario debería disminuir la huella de memoria del mismo. No es el caso. Una vez que un diccionario aumenta de tamaño (normalmente, la duplicación), nunca […]