Python использование памяти списка фрагментов - PullRequest
0 голосов
/ 17 апреля 2020

Я хотел бы понять использование памяти кусочками списка, поэтому я провел этот эксперимент:

(я сделал это в скрипте, поэтому я вставил input(), чтобы сделать паузу, чтобы я мог проверить память использование с инструментом командной строки top)

input()
# in "top:RES column", I see memory usage ~7MB
lst = list(range(10000000))
print(id(lst))
# id = 140333660359560
input()
# in "top:RES column", I see memory usage ~400MB
lst2 = lst[1:]
print(id(lst2))
# id = 140333661774024
input()
# in "top:RES column", I see memory usage ~480MB

Имеет ли lst2 общий доступ к памяти вместе с lst?

Обновление 1:

Чтобы увидеть разницу между нарезкой и созданием новый список я сделал так:

input()
# in "top:RES column", I see memory usage ~7MB
lst  = list(range(10000000))
input()
# in "top:RES column", I see memory usage ~400MB
lst2 = list(range(10000000))
input()
# in "top:RES column", I see memory usage ~800MB

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...