[python] 메모리 관리의 시간 복잡도
파이썬은 가비지 컬렉션이라는 메모리 관리 기법을 사용하여 메모리를 관리합니다. 이는 개발자가 메모리 할당과 해제를 직접 다룰 필요가 없다는 장점을 가지고 있습니다. 하지만, 이로 인해 메모리 사용량과 성능에 영향을 줄 수 있습니다.
파이썬의 가비지 컬렉션은 참조 횟수 추적과 세대별 수집이라는 두 가지 기법을 사용합니다.
참조 횟수 추적
파이썬은 각 객체가 참조되는 횟수를 추적합니다. 참조 횟수가 0이 되면 해당 객체는 가비지 컬렉션의 대상이 됩니다. 이것은 간단하고 빠르지만, 순환 참조에 대해서는 다루지 못한다는 단점이 있습니다.
세대별 수집
세대별 수집은 객체를 세대로 나누어 관리하고, 덜 빈번하게 사용되는 객체일수록 수집 주기가 늘어납니다. 이를 통해 더 빠른 가비지 컬렉션이 가능해집니다.
가비지 컬렉션은 일반적으로 높은 수준의 추상화를 제공하므로 개발자가 메모리 관리를 걱정할 필요 없이 개발에 집중할 수 있습니다.