동적 프로그래밍 언어인 Python은 항상 속도와 효율성을 높이는 데 어려움을 겪었습니다. 그러나 유타주 솔트레이크시티에서 열린 PyCon 2023 에서 최근에 선보인 개발은 더 빠르고 효율적인 배포를 약속함으로써 Python의 진화하는 미래를 보여줍니다. 곧 출시될 Python 3.12 버전은 언어 최적화의 혁신적인 변화를 보여주는 일련의 개선 사항을 도입할 것입니다.
Microsoft의 핵심 Python 기여자인 Mark Shannon과 PyCon 2023의 다른 연사는 Python의 메모리 사용 감소, 인터프리터 가속화 및 컴파일러 최적화를 목표로 하는 수많은 이니셔티브에 대해 조명했습니다. 예를 들어, Python의 개체 헤더가 208바이트에서 96바이트로 줄어들어 캐시 지역성을 개선하면서 더 많은 개체를 메모리에 보관할 수 있습니다.
적응형 특수화는 Python 3.12에 도입된 또 다른 핵심 개발입니다. 핵심 Python 개발자인 Brandt Bucher에 따르면 Python 3.11의 새로운 바이트 코드 적응 명령은 최신 버전에서 더욱 향상될 것입니다. 이러한 지침은 런타임 중에 Python 유형에 특정한 버전을 대체할 수 있으므로 인터프리터를 간소화하고 전체 프로세스 속도를 높일 수 있습니다. Python 3.12의 향상된 기능에는 추가 적응형 특수화 opcode 및 단순화된 opcode 특수화가 포함됩니다.
동시성은 Python의 오랜 문제이며 Python 3.12는 서브 인터프리터 및 인터프리터별 GIL(Global Interpreter Lock)을 도입하여 이 문제를 해결하는 것을 목표로 합니다. 핵심 Python 개발자인 Eric Snow의 강연에서는 스레드, 비동기 또는 다중 처리로 인한 트레이드 오프를 줄이면서 다중 코어의 더 나은 사용을 촉진하는 이 솔루션을 탐색했습니다. GIL을 제거하는 대신 서브 인터프리터 메커니즘을 통해 여러 인터프리터가 단일 프로세스 내에서 함께 실행될 수 있으며 각 인터프리터는 자체 GIL을 가집니다. 또한 파이썬 3.12는 인터프리터 라는 표준 라이브러리에 최소한의 모듈을 도입하여 프로그래머가 서브 인터프리터를 효과적으로 사용할 수 있도록 합니다.
이러한 발전은 Python의 성능을 가속화할 뿐만 아니라 향후 몇 년 동안 언어 내부의 미래를 보장하는 데도 도움이 됩니다. 이와 관련하여 해결된 문제 중 하나는 핵심 Python 개발자인 Victor Stinner가 공개한 CPython의 수많은 C API의 정리 및 추상화입니다. 공용 API를 비공개로 유지하면 CPython 내부와의 직접적인 상호 작용이 줄어들고 잠재적인 버전 변경에 대한 종속성이 줄어듭니다. 제3자 프로젝트인 HPy도 등장하여 여러 버전에서 Python용 보다 안정적이고 효율적이며 추상적인 C API를 제공하고 NumPy 및 ultrajson과 같은 프로젝트에 도움이 됩니다.
Python 3.12의 이러한 획기적인 개선 사항은 더 빠르고 메모리 효율적이며 적응 가능한 배포를 약속할 뿐만 아니라 이전에는 불가능했던 개선의 문을 열어줍니다. 이 릴리스는 AppMaster platform which enables easy creation of web, mobile, and backend applications through no-code solutions. Embracing an evolving future, Python is set to revolutionize its performance and efficiency, delivering substantial benefits to developers everywhere.