from pympler import asizeof
from random import randint, choice
from string import printable
from heapq import heappush
ascii = printable[:-5]
pq = []
for _ in range(10000000):
heappush(pq, (randint(0, 31), randint(0, 31), randint(0, 31), ''.join(choice(ascii) for _ in range(16)))
print(asizeof.asizeof(pq))
При запуске «top» я вижу, что для этого требуется около 2,6 ГБ ОЗУ. Но asizeof сообщает о 1 449 096 184 байтах, а это очень далеко.
Я неправильно использую это значение?
Возьмите этот MWE: [code]from pympler import asizeof from random import randint, choice from string import printable from heapq import heappush ascii = printable[:-5] pq = [] for _ in range(10000000): heappush(pq, (randint(0, 31), randint(0, 31), randint(0, 31), ''.join(choice(ascii) for _ in range(16))) print(asizeof.asizeof(pq)) [/code] При запуске «top» я вижу, что для этого требуется около 2,6 ГБ ОЗУ. Но asizeof сообщает о 1 449 096 184 байтах, а это очень далеко. Я неправильно использую это значение?