Как можно избежать утечек памяти при создании объектов в бесконечной l oop? - PullRequest
0 голосов
/ 18 апреля 2020

Я пришел к выводу, что инициализация объекта - это то, что вызывает утечки памяти в моей программе. Упрощенная версия моего кода показана ниже:

while True:
    items = [...]
    for item in items:
        do_something(Item(item))

В настоящее время я заменил свой бесконечный l oop следующим:

if __name__ == '__main__':
    items = [...]
    for item in items:
        do_something(Item(item))
    os.execv(sys.executable, [sys.executable, __file__] + sys.argv)

, но я ' Я предпочел бы решить сам вопрос. Я попытался присвоить объект переменной до функции do_something() и установить для нее значение None впоследствии, а также свести к минимуму объем данных, хранящихся в моем объекте, но использование памяти со временем продолжает увеличиваться. Я хотел бы избежать импорта каких-либо дополнительных пакетов, но любые советы приветствуются.

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