CPython vs PyPy

김띵규·2024년 8월 14일
0

궁금증해소

목록 보기
1/1

지인이 나에게 갑자기 파이썬 파일이 .py에서 .cpython으로 바뀌었다고 하면서 연락이 왔다. 이전에 내가 알기로는 python이 cpython과 동일하다고 알고 있어서 크게 문제가 없을 것 같았지만 파일 편집이나 실행이 되지 않는다고 해서 같이 구글링을 해봤다. 결론부터 말하자면 지인이 cache 파일을 건드린 해프닝에 불과했다. 그렇지만 구글링을 하면서 기존에 PyPy와 어떤 점이 다르다는 것인지 조금은 더 알 수 있었다.

CPython

우리가 기본적으로 Python이라고 알고 있는 것은 CPython이다. 실제로 파이썬의 깃헙 레포를 방문해봐도 레포명이 "cpython"이라고 되어있는 것을 확인할 수 있다. 파이썬 GitHub

그렇다면 왜 파이썬을 CPython이라고 이야기하는 것일까?? 그것은 바로 C언어 컴파일러를 사용해서 인터프리팅 과정을 거치기 때문이다.

PyPy

CPython의 이름이 붙은 이유를 봤을 때 연쇄적으로 PyPy라는 명칭이 어디서 왔는지를 추측할 수 있다. Python을 이용해서 Python의 컴파일러를 작성한 경우를 PyPy라고 한다. JIT(Just-In-Time) 컴파일러를 사용하기 때문에 CPython에 비해서 연산 시간이 줄어든다는 장점이 있다. 파이썬 3.7 기준으로 평균적으로 4.7배의 속도 향상을 이루어낸다고 한다.(왠지 시간 초과가 나는 알고리즘 문제로 PyPy로 시도하면 통과가 되더라니...!!)
하지만 기존의 CPython을 기반으로 작성된 라이브러리(ex. Numpy)를 사용하는 경우 에러가 발생할 수 있고 속도도 느려지게 되는 단점이 있다.
PyPy를 사용하기 위해서는 우리가 기존에 사용하던 python 말고 새로운 python을 설치해야 하고 실행 명령 역시 pypy ~~.py로 약간의 차이를 보인다.

profile
🦥 개발자의 일상과 배움을 나누는 공간, 함께 성장하는 Velog입니다. 🦥

0개의 댓글