본문 바로가기

profiling2

Python 모듈의 import 문은 항상 맨 위에 있어야 합니까?, Should import statements always be at the top of a module? 질문 PEP 8는 다음과 같이 명시합니다: 임포트는 항상 파일의 맨 위에 위치하며, 모듈 주석과 독스트링 바로 다음에 오고, 모듈 전역 변수와 상수 앞에 위치합니다. 하지만 내가 임포트하는 클래스/메소드/함수가 드물게 사용되는 경우, 필요할 때만 임포트하는 것이 더 효율적이지 않을까요? 이렇게 하는 것이: class SomeClass(object): def not_often_called(self) from datetime import datetime self.datetime = datetime.now() 이렇게 하는 것보다 더 효율적이지 않을까요? from datetime import datetime class SomeClass(object): def not_often_called(self) self.d.. 2023. 10. 9.
Python 파이썬 스크립트를 프로파일링하는 방법은 무엇인가요?, How do I profile a Python script? 질문 Project Euler와 같은 코딩 대회에서는 종종 최대 실행 시간이나 특정 솔루션이 얼마나 빠르게 실행되는지 자랑합니다. Python에서는 때로 접근 방법이 다소 어색 할 수 있습니다. 예를 들어, 타이밍 코드를 __main__에 추가하는 것입니다. Python 프로그램이 실행되는 데 걸리는 시간을 프로파일링하는 좋은 방법은 무엇인가요? 답변 파이썬에는 cProfile이라는 프로파일러가 있습니다. 이는 총 실행 시간뿐만 아니라 각 함수 별로 시간을 측정하고 각 함수가 호출된 횟수도 알려주므로 최적화해야 할 위치를 쉽게 결정할 수 있습니다. 코드 내부나 인터프리터에서 다음과 같이 호출할 수 있습니다. import cProfile cProfile.run('foo()') 더욱 유용하게 사용하려면 다음.. 2023. 5. 19.