
Script ——> Run(Py VM)까지가 CPython 영역 안에서 동작
Python 소스코드는 Interpreter를 통해 Byte Code로 컴파일되고, Python VM에서 해당 코드를 실행시키는 구조
Byte Code를 사용하는 이유는 실행 환경과 독립적이고, Python 스크립트보다 빠르기 때문에 중간 단계로 컴파일되어 사용
PVM에서는 인터프리터가 컴파일한 바이트 코드를 실행하고, 메모리 관리, 예외 처리, 스레딩, 파일 입출력 등의 자원 관리를 담당
전통적인 컴파일 언어인 C는 전체 소스 코드를 한 번에 컴파일 후 링킹을 거쳐서 하나의 실행 가능한 파일로 변환
해당 파일은 기계어로 구성되어 있으므로 실행 속도가 빠름
또한, 컴파일 과정과 실행 과정이 분리되어 있으므로, 동일한 소스 코드에 대해서 컴파일은 한 번만 수행하면 됨
인터프리터 언어인 Python은 전체 소스 코드를 한 줄씩 읽어 들여서 Byte Code로 변환한 후 이를 PVM에서 실행
따라서, 별도의 실행 파일이 존재하지 않고 중간 단계를 거치기 때문에 실행 속도가 느림
.o → .exe로 만드는 과정을 뜻소스코드의 컴파일과 실행이 함께 이루어지므로, 코드를 실행할 때마다 컴파일 과정이 소요