Czy istnieje odniesienie do rozmiaru pamięci struktury danych Pythona na platformach 32- i 64-bitowych?
Jeśli nie, byłoby miło mieć go na SO. Im bardziej wyczerpujący, tym lepiej! Ile bajtów jest używanych przez następujące struktury Pythona (w zależności od len
typu zawartości i, jeśli ma to zastosowanie)?
int
float
- odniesienie
str
- ciąg znaków Unicode
tuple
list
dict
set
array.array
numpy.array
deque
- obiekt klas w nowym stylu
- obiekt klas w starym stylu
- ... i wszystko, o czym zapominam!
(W przypadku kontenerów, które przechowują tylko odniesienia do innych obiektów, oczywiście nie chcemy liczyć samego rozmiaru elementu, ponieważ może on być udostępniany).
Ponadto, czy istnieje sposób na uzyskanie pamięci używanej przez obiekt w czasie wykonywania (rekurencyjnie lub nie)?
a
użyj a.nbytes
.