10989번 - 수 정렬하기 3
제목 그대로 아래에 있는 동일한 코드를 제출하였을 때 Python 3에서는 정답처리되고 pypy 3에서는 메모리 초과 오류가 발생하는데 이유가 무엇인지 궁금합니다!
Python 3와 PyPy3는 구현체가 완전히 다르고 구조가 매우 복잡하기 때문에 어떤 코드가 얼마나 메모리를 사용할지 예측하기가 매우 어렵습니다. PyPy3가 기본적으로 좀 더 많은 메모리를 사용하는 경향이 있다는 것 정도만 알려져 있습니다. 자세한 건 벤치마킹한 것들을 찾아보면 되겠으나, 이 문제와 같이 메모리 제한이 빡센 문제에서 그런 차이가 생기는 이유를 단순히 '왜'로 설명하기는 매우 어렵습니다.
평균적으로 PyPy3 쪽이 메모리를 훨씬 많이 쓰는 경향이 있습니다
이유는 위 분이 말씀해주신 것처럼 설명하기 어려운 부분으로 알고 있습니다
이와 비슷한 것 중에는 재귀 횟수가 늘어나면 PyPy3이 Python3보다 느린 점 등이 있겠네요
그냥 'PyPy3이 메모리를 더 많이 먹는다' 정도로 기억하시면 충분할 것 같습니다
두분 다 정말 감사합니다..!! 행복한 하루 보내세요!!
댓글을 작성하려면 로그인해야 합니다.
hsjeon01 2년 전
제목 그대로 아래에 있는 동일한 코드를 제출하였을 때 Python 3에서는 정답처리되고 pypy 3에서는 메모리 초과 오류가 발생하는데 이유가 무엇인지 궁금합니다!