2017-09-25 1 views

답변

1

임계 값은 승산기 이전 세대- 상대적이다. gc.set_threshold() documentation에서 :

실행시기를 결정하기 위해, 콜렉터는 마지막 컬렉션 숫자 객체 할당 및 할당 해제를 추적합니다. 할당 횟수에서 할당 해제 수를 뺀 숫자가 threshold0을 초과하면 수집이 시작됩니다. 처음에는 세대 0 만 검사합니다. 세대 이 생성 1이 확인 된 이후 threshold1 번 이상 검사 된 경우 생성 1도 검사합니다. 마찬가지로 threshold2은 생성 2을 수집하기 전에 생성 의 콜렉션 수를 제어합니다.

대담한 강조 광산.

세대 1은 세대 0이 10 회 실행 된 경우에만 실행됩니다. 생성 0은 700 (델타 할당 - 할당 해제) 사이클마다 만 실행되므로 생성 1은 10 * 700 == 7.000 사이클마다 실행됨을 의미합니다. 2 세대는 10 * 10 * 700 == 70.000 사이클마다 실행됩니다.

관련 문제