파이썬 가비지 수집이 어떻게 작동하는지 자세히 설명하는 문서를 찾고 있습니다.
어느 단계에서 수행되는 작업에 관심이 있습니다. 이 3 개의 컬렉션에는 어떤 개체가 있습니까? 각 단계에서 어떤 종류의 개체가 삭제됩니까? 참조 사이클 찾기에 어떤 알고리즘이 사용됩니까?
배경 : 짧은 시간 안에 완료해야하는 일부 검색을 구현하고 있습니다. 가비지 수집기가 가장 오래된 세대를 수집하기 시작하면 다른 경우보다 "훨씬"느립니다. 검색보다 시간이 더 걸렸습니다. 나는 그것이 가장 오래된 세대를 모을 때와 얼마나 오래 걸릴지를 예측하는 방법을 찾고 있습니다.
함께 오래된 세대를 수집 할 때 예측하기가 용이 get_count()
하고 get_threshold()
. 또한로 조작 할 수 있습니다 set_threshold()
. 그러나 나는 collect()
강제 로 결정 하거나 예약 수집을 기다리는 것이 얼마나 쉬운 지 알지 못합니다 .