MS 파이썬용 컴파일러 ‘파이지온’, 버전 1.0 출시 - CIO Korea

생성일
Nov 10, 2021 12:16 PM
언어
Python
분야
 
닷넷 6(.NET 6) 런타임으로 컴파일되는 파이썬용 JIT(Just-In-Time) 컴파일 시스템 ‘파이지온(Pyjion)’의 버전 1.0이 공개됐다.
파이썬 소프트웨어 재단 펠로우이자 마이크로소프트 펠로우인 앤서니 쇼가 개발한 ‘파이지온’은 ‘파이파이(PyPy)’와 같은 독립실행형 런타임이 아니라 파이썬 3.10에서 실행되는 설치형 라이브러리다.
notion imagenotion image
ⓒPublicDomainPictures (CC0)
설치 후 파이지온 라이브러리를 가져와 활성화하면 프로그램에서 파이지온을 사용할 수 있다. 파이지온을 활성화한 후 가져오거나 정의하는 모든 파이썬 코드는 JIT 컴파일된다. 파이지온은 닷넷 EE(.NET EE) 컴파일러를 통해 파이썬 가상머신 명령 코드를 어셈블리 언어로 컴파일한다.
개발팀이 실시한 벤치마크 결과에 따르면 파이지온은 실제 작업에서 일반 파이썬보다 약 2~3배 더 빠른 것으로 드러났다. 일부 최적화는 최대 10배의 속도 향상을 보였다고 개발팀은 전했다. JIT 최적화에 적합한 일반 연산은 훨씬 더 빠를 수 있다.
With 블록 및 async/await 등의 일부 파이썬 기능은 아직 파이지온에서 구현되지 않았지만 둘 다 로드맵에 포함돼 있다고 개발팀은 언급했다. 파이지온에는 WSGI 애플리케이션이 파이지온에서 실행될 수 있도록 하는 미들웨어 계층도 지원된다.
여러 이유로 파이썬을 더 빠르게 만드는 것은 어려운 일이었다. 파이썬의 속도를 높이는 대부분의 방법이 호환성을 위해 파이썬 C API를 활용하고, 이는 성능을 제한시킬 수 있어서다. 그런 점에서 파이썬을 C로 컴파일하는 프로젝트인 ‘C파이썬’은 파이썬 C API를 전혀 활용하지 않는 코드로 최적의 성능을 달성한다.
파이지온은 파이썬 C API를 활용하긴 하지만 현재 및 향후 계획된 최적화(예: 배열 유형에 관한 액세스 최적화 등)는 파이지온 개발팀이 이를 해결할 방법을 고려하고 있음을 시사한다. ciokr@idg.co.kr
notion imagenotion image