Python: как использовать struct для упаковки и распаковки ссылок на объекты? - PullRequest
1 голос
/ 12 марта 2019

У меня есть список объектов, например:

L = [<CustomObject object at 0x101992eb8>, <CustomObject object at 0x101763908>, ...]

Элементы в списке являются «ссылками», поэтому я думаю, что это как список целых чисел без знака, я не прав?

Чтобы посмотреть, смогу ли я сэкономить память, я бы хотел упаковать этот список с помощью модуля struct.

Возможно ли это?И если да, как это сделать?(кроме случаев, когда вы точно знаете, я не буду сохранять память таким образом)

1 Ответ

1 голос
/ 12 марта 2019

list уже является массивом «целых чисел» (указателей) внутри;struct не может сжать это каким-либо простым или значительным образом, и это может помешать сборке мусора в Python.

CustomObject s (если они уникальны) занимают более чем вдвое больше памяти -ближе к сто раз, если вы не используете __slots__ для класса.

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