PyPy란 무엇인가?

역사적으로 PyPy는 두 가지 의미로 사용되어 왔습니다. 첫 번째는 동적 프로그래밍 언어를 위한 인터프리터를 생성하는 RPython 번역(translation) 툴체인입니다. 그리고 두 번째는 그것으로 만들어진 Python의 특정 구현입니다. RPython은 Python과 동일한 문법을 사용하기 때문에, 이렇게 생성된 버전은 Python으로 작성된 Python 인터프리터로 알려지게 되었습니다. 이는 유연하고 실험하기 쉽도록 설계되었습니다.

더 명확히 하자면, 우리는 RPython으로 작성된 소스 코드에서 시작하여 RPython 번역(translation) 툴체인을 적용하고, 결과적으로 PyPy를 바이너리 실행 파일로 얻게 됩니다. 이 실행 파일이 바로 Python 인터프리터입니다.

이중 사용은 혼란스러운 것으로 판명되어, PyPy라는 단어를 툴체인과 생성된 인터프리터 모두를 의미하는 데 사용하는 것을 지양하게 되었습니다. 이제 PyPy라는 단어는 Python 구현체를 가리키는 데 사용하며, 프레임워크를 의미할 때는 RPython translation toolchain를 명시적으로 언급합니다.

일부 오래된 문서, 발표 자료, 논문, 영상에는 여전히 예전 용어가 사용되어 있습니다. 이 점을 미리 알려 드립니다.

우리는 커스텀 Python 버전을 만들어낼 수 있는 컴파일러 툴슈트를 제공함으로써 크고 작은 다양한 플랫폼을 대상으로 합니다. 플랫폼, 메모리, 스레딩 모델은 JIT 컴파일러 자체와 마찬가지로 번역(translation) 과정의 측면들이며, 이는 저수준 세부 사항을 언어 구현체 자체에 인코딩하는 것과는 대조적입니다.

더 자세한 내용은 아키텍처 개요를 참고하세요.