[PYTHON] 개체가 파이썬에서 가비지 수집되는시기는 언제입니까?
PYTHON개체가 파이썬에서 가비지 수집되는시기는 언제입니까?
개체가 파이썬에서 가비지 수집되는시기는 언제입니까? 메모리가 해제되고 컬렉션이 성능에 영향을주는 시점은 언제입니까? gc 알고리즘을 선택 해제하거나 조정할 수 있습니까?
해결법
-
==============================
1.다음은 언어 참조에서 발췌 한 내용입니다.
다음은 언어 참조에서 발췌 한 내용입니다.
편집 : 가비지 수집 연기 .... 정보가 모듈은 가비지 수집기와 상호 작용할 수 있으며 원하는 경우 수집 횟수 등을 변경할 수 있습니다. 그러나 나는 그것을 직접 사용하지 않았습니다. 또한 __del__ 메소드가있는 객체가 포함 된 사이클은 수집되지 않습니다.
-
==============================
2.개체가 파이썬에서 가비지 수집되는시기는 언제입니까?
개체가 파이썬에서 가비지 수집되는시기는 언제입니까?
CPython의 소스 코드에는 많은 세부 사항이 있습니다. http://svn.python.org/view/python/trunk/Modules/gcmodule.c?revision=81029&view=markup
참조 횟수가 0이 될 때마다 개체가 즉시 제거됩니다.
새 오브젝트 수가 기존 오브젝트 수의 25 %를 초과하면 전체 콜렉션이 트리거됩니다.
기억은 언제 풀어 집니까?
나는이 정보를 알아낼 수 밖에 없었다.
이것에 따르면, 파이썬은 refcount를 0으로 떨어 뜨려도 재활용을 위해 객체를 자유 목록에 보관할 수 있습니다. 나는 무료 콜이 운영체제에 메모리를 돌려주기 위해 언제 만들어 졌는지를 명시 적으로 발견 할 수 없지만, 콜렉션이 만들어지고 객체가 프리리스트에 보관되지 않을 때마다 이것이 수행된다고 생각한다.
컬렉션이 성능에 영향을 줍니까?
필자가 들어 본 적이없는 중요한 가비지 컬렉터는 CPU와 메모리가 모두 작동해야합니다. 따라서 성능에 항상 영향을 미칩니다. 실험하고 가비지 컬렉터에 대해 알아야합니다.
실시간 응답 성이 필요한 프로그램 가비지 수집기가 실행 시간이나 실행 시간을 제어 할 수 없기 때문에 문제가 발생했습니다. 일부 특수한 경우는 과도한 메모리 사용을 유발할 수 있습니다. 예를 들어 무료 목록을 유지하는 Python의 요령이 있습니다.
from https://stackoverflow.com/questions/9449489/when-are-objects-garbage-collected-in-python by cc-by-sa and MIT license
'PYTHON' 카테고리의 다른 글
[PYTHON] 새 줄을 삽입하지 않고도 사용자 입력을받을 수 있습니까? (0) | 2018.10.09 |
---|---|
[PYTHON] 이름을 가진 모듈을 가져 오는 방법? (0) | 2018.10.09 |
[PYTHON] Python : URLError : <urlopen 오류 [Errno 10060] (0) | 2018.10.08 |
[PYTHON] "정렬 할 수없는 유형 : int () <str ()" (0) | 2018.10.08 |
[PYTHON] 파이썬에 나열 할 문자열 (0) | 2018.10.08 |