LINUX.ORG.RU

История изменений

Исправление gh0stwizard, (текущая версия) :

Так вот вопрос, оно отпустит когда-нибудь эту память или нет?

Зависит от ОС, версии питона, а также как он был скомпилирован и как написан модуль (на чистом питоне или сишным модулем).

Отпустит оно её просто со временем или отпустит оно её когда она будет нужна другому процессу?

В GNU/Linux после free(), помеченная как освобожденная память будет отдана другому процессу при явной необходимости. Однако, следующий вызов в твоей программе может получить участок из swap, и соответствующие последствия. Так что думай, как лучше проектировать программу и когда освобождать память. В большинстве случаев тебе нужно заботиться, чтобы хватало ОЗУ с запасом и не полагаться на swap или что ОС сделает все за тебя.

Некоторые особенности описаны тут: http://stackoverflow.com/questions/15455048/releasing-memory-in-python

+ https://docs.python.org/3/library/tracemalloc.html

P.S. Не спец по питону.

Исправление gh0stwizard, :

Так вот вопрос, оно отпустит когда-нибудь эту память или нет?

Зависит от ОС, версии питона, а также как он был скомпилирован и как написан модуль (на чистом питоне или сишным модулем).

Отпустит оно её просто со временем или отпустит оно её когда она будет нужна другому процессу?

В GNU/Linux после free(), помеченная как освобожденная память будет отдана другому процессу. Однако, следующий вызов в твоей программе может получить участок из swap, и соответствующие последствия. Так что думай, как лучше проектировать программу и когда освобождать память.

Некоторые особенности описаны тут: http://stackoverflow.com/questions/15455048/releasing-memory-in-python

+ https://docs.python.org/3/library/tracemalloc.html

P.S. Не спец по питону.

Исходная версия gh0stwizard, :

Так вот вопрос, оно отпустит когда-нибудь эту память или нет?

Зависит от ОС, версии питона, а также как он был скомпилирован и как написан модуль (на чистом питоне или сишным модулем).

Отпустит оно её просто со временем или отпустит оно её когда она будет нужна другому процессу?

В GNU/Linux после free(), помеченная как освобожденная память будет отдана другому процессу. Однако, следующий вызов в твоей программе может получить участок из swap, и соответствующие последствия. Так что думай, как лучше проектировать программу и когда освобождать память.

Некоторые особенности описаны тут: http://stackoverflow.com/questions/15455048/releasing-memory-in-python

P.S. Не спец по питону.