죽음에서 돌아온 Pyston, Python 속도 향상

Python 프로그램의 실행 속도를 높이기 위해 Just-In-Time 컴파일을 사용하는 Python 런타임의 변형 인 Pyston의 개발은 오랜 기간의 림보 끝에 다시 시작되었습니다. Dropbox가 중단 된 부분부터 새로운 개발 팀이 Pyston 2.0을 출시했습니다.

Pyston은 궁극적으로 표준 Python 런타임 인 ​​CPython에 대한 드롭 인 교체를 제공합니다. Python 3.8과 호환되므로 해당 버전의 Python으로 실행되는 프로그램은 Pyston에서있는 그대로 실행되어야합니다.

Pyston은 JIT (Just-In-Time) 컴파일 또는 JITting을 사용하여 코드 생성을 수행하여 많은 속도 향상을 가져옵니다. Pure-Python 프로그램은 가장 크게 개선 된 반면, PyTorch와 같이 더 빠른 실행을 위해 C / C ++ 모듈을 사용하는 프로그램은 거의 또는 전혀 표시하지 않습니다.

많은 타사 프로젝트가 CPython 동작에 대해 가정하기 때문에 프로젝트의 목표 중 하나는 CPython의 원래 구현에 최대한 가깝게 유지하는 것이 었습니다. 따라서 Pyston 2.0은 기존 CPython 코드베이스로 시작하여 캐싱 속성 및 JITting과 같이 잘 작동하는 Pyston 1.0의 기능을 추가했습니다. Pyston의 JIT는 더 이상 LLVM을 사용하지 않지만 DynASM은 어셈블리를 직접 방출합니다.

JITting은 Python 애플리케이션에 주요 속도 향상을 제공하기 위해 다른 프로젝트 인 PyPy에서 사용하는 것과 동일한 기술입니다. 어떤 경우에는 CPython이 제공 할 수있는 것의 7 배입니다. 그러나 Pyston의 제작자는 CPython의 C API와의 더 나은 호환성과 일반적인 워크로드 (예 : Flask 및 DjangoCMS)에 대한 낮은 메모리 소비를 포함하여 PyPy보다 접근 방식이 몇 가지 장점이 있다고 주장합니다.

Dropbox에서 만든 Pyston은 2017 년 Dropbox가 지원을 철회하면서 개발을 중단했습니다. 이제이 프로젝트는 비록 독립적이기는하지만 원래 개발자 일부가 계속 관리하고 있습니다.

공식 Pyston 블로그는 "2020 년 초에 회사를 시작하고 Pyston에서 풀 타임으로 작업 할 수있는 충분한 부분이 준비되었습니다."라고 말합니다. 그러나 원래 Pyston의 화신과는 달리 새 버전은 새로운 관리자가 비즈니스 모델을 결정하기 때문에 당분간 비공개 소스입니다. 프로젝트의 GitHub에서 사용할 수있는 소스 코드는 최신 버전이 아닌 이전 버전의 것으로 보입니다.

Pyston의 사전 빌드 된 바이너리는 Ubuntu 18.04 및 Ubuntu 20.04 x86_64에서 사용할 수 있습니다. 개발 팀은 사용자 피드백을 기반으로 다른 에디션을 기꺼이 제작할 것입니다.