이번 파이콘의 주제인 Back to the Basic에 걸맞게 GC의 동작원리와 Reference counting을 이용한 메모리 관리가 어떻게 이루어지는지에 대해서 이야기하고, Python의 메모리 관리가 어떻게 이루어지고 있는지에 대해서 자세하게 설명할 예정입니다. 위와 같은 기본적인 이야기를 설명한뒤에, Instagram에서 GC를 없애면 Instagram에서는 10%의 성능 향상을 얻었다는 이야기의 실체에 대해서 이야기 할 것 입니다. 이는 GC를 사용하지 않은것인데, CPU LLC cache hit율을 높이고 메모리 사용률을 줄일 수 있다고 Instagram이 말하고 있습니다.
Instagram에서는 과연 어떤 생각을 갖고 이런 발상을 하게 되었는지 Instagram 기술 블로그 글의 해석과 보충 설명으로 알아보고, 이 방법이 메모리 관리 측면에서 과연 안전한 방법인지에 대해서 고민해봅니다. 또한 더 다양한 규모와 환경에서 테스팅해보며 Python을 이용한 웹 환경 구축시 이런 튜닝이 유효할지에 대해서 이야기합니다.
https://b.luavis.kr/python/dismissing-python-garbage-collection-at-instagram