Jaki jest dobry sposób na oszacowanie śladu pamięci obiektu?Python: Jak oszacować/obliczyć ślad pamięci struktur danych?
Odwrotnie, jaki jest dobry sposób na zmierzenie śladu?
Na przykład, że mam słownika, którego wartości są listy liczb całkowitych, float krotki:
d['key'] = [ (1131, 3.11e18), (9813, 2.48e19), (4991, 9.11e18) ]
mam 4G pamięci fizycznej i chciałbyś dowiedzieć się, w przybliżeniu, ile wierszy (kluczowe: wartości) Mogę przechowywać w pamięci, zanim rozleję się na wymianę. To jest na Linux/Ubuntu 8.04 i OS X 10.5.6.
Co jest najlepszym sposobem na poznanie rzeczywistego śladu w pamięci mojego programu? Jak najlepiej wymyślić, kiedy jest wyczerpująca pamięć fizyczna i rozlanie?
Dlaczego w 'd' znajduje się 6 obiektów 'str'? –
Po powiązaniu nowej zmiennej tworzony jest nowy ciąg znaków ("d"). Atrybuty wyszukiwania (sterty) dla innego konta. Nie wiem, skąd pochodzi reszta. –
Rzeczywiste wyniki są różne i należy albo sprawdzić je pod kątem konkretnej implementacji interpretera, z którego korzystasz, albo wykonać próbę i błąd, aby znaleźć wariancję. Na przykład po prostu próbowałem powyższego przykładu i zgłosiło trzy ciągi o łącznej długości 96 bajtów. –