프로그래밍

[Python] 파이썬의 내부는 어떻게 생겼을까? CPython

판다의 삶 2020. 6. 7. 10:27
728x90

파이썬은 파이썬만의 프로그래밍 언어 문법에 맞춰 코드를 작성하면 이를 작성한대로 실행하여 주는 하나의 프로그램이라고 할 수 있다.

개발자가 작성한 코드대로 실행해 주기 때문에, 다시말해서, 개발자가 의도한 프로그램을 만들 수 있도록 도와 주기 때문에 프로그래밍 언어라고 불린다.

 

그렇다면 파이썬의 내부는 어떻게 생겼을까?

 

파이썬 공식 웹 사이트 에서 다운받는 대부분의 파이썬의 경우 내부는 C언어로 구현되어 있다. 이를 CPython이라고 한다.

파이썬은 오픈 소스 프로젝트로 깃허브를 통해 코드를 공개하고 있기 때문에 여기에서 실제 구현 코드를 확인할 수 있다.

아래는 python 3.10.0 alpha 0 버전의 문자열 비교 함수의 모습이다. 파일명 pystrcmp.c에서 .c 확장자가 사용되고 있음을 알 수 있으며,

실제 C언어 문법으로 작성된 코드를 살펴볼 수 있다.

 

 

Jython? pypy?

 

파이썬은 앞서 말했듯 파이썬의 문법에 맞춰 작성한 코드를 실행하여 주는 프로그램이므로 충분히 다른 언어로도 구현될 수 있다.

대표적인 사례로 Java로 구현한 Jython(자이썬)이 있다. Jython은 모든 JVM(자바 가상 머신)이 실행할 수 있다.

 

 

Jython 로고 (출처: https://www.jython.org)

 

이해하기 조금 어려울 수도 있겠지만 Python으로 구현한 pypy도 존재한다. pypy는 파이썬의 부분집합인 RPython으로 구현되어 있다.

현재의 CPython보다 높은 성능을 내도록 하는 것이 프로젝트의 주된 목표이다. 공식 사이트에 따르면 pypy7.1 버전은 Cpython2.7.11 버전보다 4배 이상의 성능을 보인다고 한다.

 

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

 

728x90