이 문서 내용은 좀 낡았습니다.
60일이나 편집 안된 오래된 망한 문서니 개발 문서인 경우 참고할 때 조심하세요. 최신 정보를 알고 싶으면 게시판에 글 써주세요

(틀:프로그래밍 언어)

목차

1. 개요
2. 이게 어떻게 가능한 것인가?
3. 더불어서
4. 오픈나무에서는...

1. 개요

PyPy는 Python의 Python 구현체이다(...) 일반적으로는 Python보다 동일한 코드를 돌려도 속도가 빠르다

2. 이게 어떻게 가능한 것인가?

정확히 PyPy가 빠른 이유는 PyPy가 JIT을 지원하기 때문이다

즉 쉽게 말해서 코드를 즉석으로 컴파일, 캐싱해서 쓸 수 있기 때문에 빠른 것이다

하지만 단점으로는 이렇게 전체 JIT 돌려버리기 때문에 일부 코드에서 호환성 문제로 오작동할 수 있다.(1)(2)

3. 더불어서

파이썬 3.11 이후로는 꽤 속도가 개선되어서 격차가 많이 줄어들게 되었다

하지만 여전히 PyPy가 빠르기 때문에 지원 가능한 환경이라면 이점이 있는 것은 사실이다

4. 오픈나무에서는...

비공식적으로는 지원한다

원래는 공식 지원했으나... PyPy 버전마다 호환성을 크게 타는 바람에 공식 지원에서는 빼놨다.
(1) 특히 CPython(일반 파이썬)의 대표적인 기능인 C와 링커 기능을 사용하는 경우 아예 작동 안할 가능성이 높다
(2) 그래서 일부만 JIT을 사용할 수 있게 해주는 Numba라는 CPython 라이브러리가 있다