Gibt es eine Referenz für die Speichergröße der Python-Datenstruktur auf 32- und 64-Bit-Plattformen?
Wenn nicht, wäre es schön, es auf SO zu haben. Je umfassender desto besser! Wie viele Bytes werden von den folgenden Python-Strukturen verwendet (abhängig vom len
und dem Inhaltstyp, falls relevant)?
int
float
- Referenz
str
- Unicode-Zeichenfolge
tuple
list
dict
set
array.array
numpy.array
deque
- Klassenobjekt neuen Stils
- Old-Style-Klassenobjekt
- ... und alles was ich vergesse!
(Bei Containern, die nur Verweise auf andere Objekte enthalten, möchten wir natürlich nicht die Größe des Elements selbst zählen, da es möglicherweise gemeinsam genutzt wird.)
Gibt es außerdem eine Möglichkeit, den von einem Objekt zur Laufzeit verwendeten Speicher abzurufen (rekursiv oder nicht)?
a
Verwenden Sie für ein NumPy-Array a.nbytes
.