Estoy un poco confundido cuando uso el método getsizeof
en el módulo sys
para diccionarios. A continuación he creado un diccionario simple de dos cadenas. Los tamaños de las dos cuerdas son claramente más grandes que el del diccionario. El tamaño del diccionario es probablemente la sobrecarga del diccionario, es decir, no tiene en cuenta los datos reales. ¿Cuál es la mejor manera de descubrir el uso de memoria de todo el diccionario (claves, valores, sobrecarga del diccionario)?Uso de la memoria del diccionario en Python?
>>> first = 'abc'*1000
>>> second = 'def'*1000
>>> my_dictionary = {'first': first, 'second': second}
>>> getsizeof(first)
3021
>>> getsizeof(second)
3021
>>> getsizeof(my_dictionary)
140
Para ser pedantes, si alguno de los valores es un contenedor (en lugar de un escalar) necesita profundizar en ese contenedor también. –