프로그래밍 언어/파이썬

[Python] 대체 파이썬 인터프리터

eunsour 2023. 2. 16.
반응형

파이썬 공식 문서에서 소개하는 대체 파이썬 인터프리터들은 다음과 같다. 

 

  • CPython :  파이썬 프로그래밍 언어의 규범적인 구현이며, python.org에서 배포된다. (GIL : O)

  • Jython : Java로 구현된 파이썬. 이 구현은 Java 응용 프로그램용 스크립팅 언어로 사용하거나 Java 클래스 라이브러리를 사용하여 응용 프로그램을 만드는 데 사용할 수 있다. 또한 Java 라이브러리에 대한 테스트를 만드는 데 자주 사용된다. 현재 릴리즈는 Python2에서만 지원한다. (GIL : X)

  • Python for .NET : 이 구현은 실제로 CPython 구현을 사용하지만 .NET 개발자를 위한 매니지드(managed) .NET 응용 프로그램과 .NET API 등 강력한 스크립팅 도구를 제공한다. Bryan Lloyd가 만들었다. 현재 릴리즈는 Python3.7 - 3.11과 호환된다. (GIL : X)

  • IronPython : .NET CLR 및 Mono용 대체 Python이다. Python.NET과 달리 IL을 생성하고 Python 코드를 .NET 어셈블리로 직접 컴파일하는 완전한 Python 구현이다. CPython보다 확장이 용이하며, Jython의 창시자인 Jim Hugunin이 만들었다. 현재 릴리즈는 Python2.7과 Python3.4를 지원한다. (GIL : X)

  • PyPy : CPython의 대체재로 공동 개발한 RPython으로 작성된 Python 구현이다. 스택리스 지원 및 Just in Time 컴파일러와 같은 다른 구현에서는 볼 수 없는 몇 가지 고급 기능을 지원한다. 이 프로젝트의 목표 중 하나는 인터프리터(Python으로 작성되었으므로)를 더 쉽게 수정할 수 있도록 하여 언어 자체에 대한 실험을 장려하는 것이다. 평균적으로 CPython 3.7보다 4.8 배 빠르다고 한다.  (GIL : O)

    • 속도 : Just-in-Time 컴파일러 덕분에 빠른 속도를 자랑한다. (long-running programs 한정)
    • 메모리 사용량 : GC 개선으로 CPython보다 더 적은 공간을 차지한다. 
    • 호환성 : 기존 Python과 우수한 호환성을 자랑한다. 
    • 스택리스 : 대규모 동시성을 위한 마이크로 스레드를 제공한다. 

 

(출처 : https://www.pypy.org/)

 

 

Reference

https://docs.python.org/ko/3/reference/introduction.html#alternate-implementations

https://wiki.python.org/moin/IronPython

https://wiki.python.org/moin/Jython

반응형

댓글