코테 문제를 접하다가 시간초과에 걸리는 문제가 발생하였다.
계속해서 시도해도 되지않길래 검색을 통해서 해보니 같은 코드여도 python3로는 시간초과가 발생하고, pypy3로는 통과를 하게 되는 것을 알게되었다.
- https://ralp0217.tistory.com/entry/Python3-%EC%99%80-PyPy3-%EC%B0%A8%EC%9D%B4
- https://choisblog.tistory.com/26
두 가지의 차이점을 찾아보니, 쉽게 말해서
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 |