Python 프로그램이 너무 느린 경우 아래 제공된 팁과 요령을 따를 수 있습니다. -
특히 작은 함수나 메소드의 형태로 과도한 추상화를 피하세요. 추상화는 간접적인 내용을 생성하고 해석기가 더 많은 작업을 수행하도록 하는 경향이 있습니다. 간접 참조 수준이 수행된 유용한 작업의 양을 초과하면 프로그램 속도가 느려집니다
루프 본문이 매우 단순한 경우 for 루프 자체의 인터프리터 오버헤드가 오버헤드의 큰 부분을 차지할 수 있습니다. 지도 기능이 더 잘 작동하는 곳입니다. 유일한 제한은 맵 루프 본문이 함수 호출이어야 한다는 것입니다.
루프 예시를 살펴보겠습니다
으아아아오버헤드를 피하기 위해 위의 루프 대신 맵을 사용할 수 있습니다−
으아아아리스트 컴프리헨션을 사용하면 for 루프보다 오버헤드가 적습니다. 리스트 컴프리헨션을 사용하여 구현된 동일한 예를 살펴보겠습니다. -
으아아아생성기 표현식은 Python 2.4에서 도입되었습니다. 이는 전체 목록을 한 번에 생성하는 오버헤드를 피하기 때문에 루프에 대한 최선의 대안으로 간주됩니다. 대신, 비트 단위로 반복할 수 있는 생성기 객체를 반환합니다. -
으아아아Python은 전역 변수보다 지역 변수에 더 효율적으로 액세스합니다. 위의 예제는 지역 변수 자체를 사용하여 구현할 수 있습니다 -
으아아아Import 문을 쉽게 실행할 수 있습니다. 가시성을 제한하거나 초기 시작 시간을 줄이기 위해 함수 내부에 배치하는 것이 유용한 경우가 많습니다. 경우에 따라 import 문을 반복적으로 실행하면 성능에 심각한 영향을 미칠 수 있습니다.
이것은 Join을 사용하여 여러 문자열을 연결할 때 더 좋고 빠른 옵션입니다. 그러나 문자열이 많지 않은 경우에는 + 연산자를 사용하여 연결하는 것이 더 효율적입니다. 실행하는 데 시간이 덜 걸립니다. 두 가지 예를 들어 이를 살펴보겠습니다.
+ 연산자를 사용하여 여러 문자열을 연결하세요
이제 많은 문자열을 연결하고 시간 모듈을 사용하여 실행 시간을 확인합니다 −
으아아아Join을 사용하여 여러 문자열을 연결하세요
이제 Join을 사용하여 여러 문자열을 연결하고 실행 시간을 확인합니다. 문자열이 많을 때는 연결이 더 좋고 빠른 옵션입니다 -
으아아아위 내용은 내 Python 프로그램이 너무 느립니다. 어떻게 속도를 높일 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!