728x90
반응형

Profiling 2

Python 애플리케이션의 메모리 사용량 확인하는 방법

질문 : 어떤 Python 메모리 프로파일 러가 권장됩니까? 내 Python 애플리케이션의 메모리 사용량을 알고 싶고 특히 어떤 코드 블록 / 부분 또는 객체가 대부분의 메모리를 소비하는지 알고 싶습니다. Google 검색에 따르면 상용 제품은 Python Memory Validator입니다 (Windows 전용). 그리고 오픈 소스는 PySizer 와 Heapy 입니다. 나는 아무도 시도하지 않았기 때문에 어떤 것이 가장 좋은지 알고 싶었습니다. 대부분의 세부 정보를 제공합니다. 내 코드를 최소한 또는 전혀 변경해야합니다. 답변 guppy3 는 사용하기 매우 간단합니다. 코드의 어느 시점에서 다음을 작성해야합니다. from guppy import hpy h = hpy() print(h.heap()) 이..

Python 코드가 함수에서 더 빠르게 실행되는 이유

질문 : Python 코드가 함수에서 더 빠르게 실행되는 이유는 무엇입니까? def main(): for i in xrange(10**8): pass main() Python의이 코드는 다음에서 실행됩니다 (참고 : 타이밍은 Linux의 BASH에서 시간 함수로 수행됩니다.) real 0m1.841s user 0m1.828s sys 0m0.012s 그러나 for 루프가 함수 내에 위치하지 않으면 for i in xrange(10**8): pass 그런 다음 훨씬 더 오랜 시간 동안 실행됩니다. real 0m4.543s user 0m4.524s sys 0m0.012s 왜 이런거야? 답변 전역 변수보다 지역 변수를 저장하는 것이 더 빠른 이유를 물을 수 있습니다. 이것은 CPython 구현 세부 사항입니다...

728x90
반응형