페미위키:포크 프로젝트/리브레 위키/PyPy

최근 편집: 2021년 10월 31일 (일) 07:16

개요

Python으로 구현한 Python 구현이자 가장 빠른 Python 구현체.[1] 뭐지 이 말장난은[2] 그리고 그 실체는 Python으로 손쉽게 JIT 컴파일러를 구현할 수 있는 언어 구현 툴킷.

우리는 영웅이 아닙니다. 다만 인내심이 아주 많았을 뿐.

인터프리터 깎는 장인

PyPy는 크게 두 부분으로 구성되어 있다.

  1. Python으로 작성된, RPython 컴파일러와 인터프리터 제작 프레임워크
  2. RPython 문법으로 작성된 Python 인터프리터

그래서 RPython으로 2번의 코드를 돌리면 네이티브 코드로 된 PyPy 구현이 나오고, 그걸 다시 RPython을 실행하는 데에 쓰는 식으로 개발을 진행한다.

구체적으로 어떻게 빨라질 수 있는지는 다음 글들을 참조.

이 문서는 Python 문서보다 먼저 만들어졌다.

간단한 원리

파이썬 언어로 파이썬 컴파일러(pypy)를 만든 후 원래 있던 컴파일러(Cpython 등)에 돌린다. 그리고 업데이트를 할 때는 수정한 것을 또 pypy로 컴파일한다.->무한 반복

외부 링크

  1. 일부 상황에서는 다른 구현체들보다 느려지기도 하지만 대다수의 경우 PyPy가 가장 빠르다.
  2. PyPy는 파이썬으로 파이썬 인터프리터를 구현했다.