ero alla ricerca di un modo semplice per sapere byte dimensioni array e dizionari oggetto, comeCome conoscere la dimensione in byte dell'oggetto python come array e dizionari? - Il modo più semplice
[ [1,2,3], [4,5,6] ] or { 1:{2:2} }
Molti argomenti indicano di usare pylab, ad esempio:
from pylab import *
A = array([ [1,2,3], [4,5,6] ])
A.nbytes
24
Ma, che dire dei dizionari? Ho visto molte risposte che proponevano di utilizzare pysize o heapy. Torsten Marek fornisce una risposta semplice a questo collegamento: Which Python memory profiler is recommended?, ma non ho una chiara interpretazione dell'output perché il numero di byte non corrisponde.
Pysize sembra essere più complicato e non ho una chiara idea su come usarlo ancora.
Data la semplicità del calcolo delle dimensioni che voglio eseguire (nessuna classe o struttura complessa), qualche idea su un modo semplice per ottenere una stima approssimativa dell'utilizzo della memoria di questo tipo di oggetti?
Cordiali saluti.
Ho provato in questo modo, ma quando si tenta di ottenere la dimensione di un elenco di liste, si ottiene solo la dimensione dell'elenco principale e non il totale con gli elenchi annidati. Non so se scrivo codice per fare la ricorsione, otterrò l'uso della memoria reale. – crandrades
@ user1847706 alla fine della voce in cui ti ho collegato ai documenti, c'è [Vedi la ricetta di sizeof ricorsiva per un esempio di utilizzo di getsizeof() in modo ricorsivo per trovare la dimensione dei contenitori e tutti i loro contenuti.] (Http: // code .activestate.com/recipes/577504 /) –
Grazie per la risposta. Ora, sto cercando di aggiungere un gestore per calcolare l'utilizzo della memoria per una classe definita dall'utente. – crandrades