logo

Python3와 PyPy3 차이

language-logoPython

• 컴파일 언어는 소스코드를 기계어로 컴파일하여 실행 파일을 만들고, 인터프리터 언어는 코드를 한 줄씩 읽어가며 실행한다. Python은 CPython이라는 구현체를 통해 코드를 바이트코드로 컴파일하고 실행한다.
• CPython의 단점 중 하나는 GIL(Global interpreter lock)을 사용한다는 것으로, 여러 스레드를 사용할 경우 한 번에 하나의 스레드만이 Python 객체에 접근하도록 제한한다. 하지만 이는 싱글 스레드에서는 문제가 되지 않으며, GIL로 인한 불편함은 거의 느끼지 못한다.
• PyPy3는 JIT(Just In Time) 컴파일을 도입하여 CPython보다 빠르다고 알려져 있다. JIT 컴파일은 프로그램을 실행하는 시점에서 필요한 부분들을 즉석으로 컴파일하는 방식으로, 인터프리터 언어의 성능 향상을 목적으로 도입하는 경우가 많다.
• PyPy3는 자주 사용되는 코드를 캐싱하는 기능이 있어 메모리를 더 사용하면서 실행 속도를 개선할 수 있다. 간단한 코드에서는 Python3가 메모리, 속도 측면에서 우세하고, 복잡한 코드에서는 PyPy3가 우세하므로, 코드 상황에 따라 두 구현체를 적절하게 사용하는 것이 효율적이다.

thumbnail
북마크
공유하기
신고하기
3분 분량
조회수 166
profile-imageJONGHYUNJUNG
2년 전
Copyright © 2025. Codenary All Rights Reserved.