본문 바로가기
공부/하루 1단어

Python3 vs Pypy3

by DSLAB_JS 2021. 12. 19.

코테 문제를 접하다가 시간초과에 걸리는 문제가 발생하였다.

 

계속해서 시도해도 되지않길래 검색을 통해서 해보니 같은 코드여도 python3로는 시간초과가 발생하고, pypy3로는 통과를 하게 되는 것을 알게되었다.

두 가지의 차이점을 찾아보니, 쉽게 말해서

Python3 는 CPython으로부터 구현 된 것이기 때문에, CPython은 인터프리터이면서 컴파일러다. 

반면에 pypy3는 즉석으로 컴파일하는 방식이고, 인터프리트하면서 자주 쓰이는 코드를 캐싱하기 때문에 느린 실행 속도를 개선할 수 있다.

 

즉, PyPy3에서 실행할때는 자주 쓰이는 코드릴 캐싱하는 기능이 있기 때문에, 메모리를 조금 더 사용하여 그것들을 저장하고 있어서 실행속도를 개선 할 수있다는 것이다.

간단한 코드상에서는 Python3가 메모리, 속도 측에서 우세할 수 있는 것이고,

복잡한 코드(반복)을 사용하는 경우에서는 PyPy3가 우세하고 한다.

→ 코드 상황에 맞춰서 어떤 것을 적절하게 사용하는 것이 효율적이라고 할 수 있다.

'공부 > 하루 1단어' 카테고리의 다른 글

Attention VS Self Attention  (0) 2022.01.17
Zero Shot, One Shot, Few Shot Learning  (0) 2022.01.04
MLOps (머신러닝 오퍼레이션 자동화)  (0) 2021.11.15