2016-09-28 2 views
1

솔루션을 검색 할 때 여러 가지 방법을 사용하는 것이 일반적입니다. 자주 익숙한 구문과 가장 밀접하게 일치하는 솔루션을 사용합니다. 하지만 때로는 먼 곳에서 가장 많이 사용되는 해결책은 this thread처럼 새로운 모듈을 가져 오는 것입니다.파이썬 모듈 가져 오기가 성능에 영향을 줍니까?

이미 50K 회 반복되는 대형 스크립트에서 다양한 모듈을 가져오고 있습니다. 추가 모듈을 가져 오면 처리 시간에 영향을 주거나 그렇지 않으면 스크립트의 효율성에 영향을 줍니까? 호출되는 모듈의 크기에 대해 걱정할 필요가 있습니까? 일반적으로, 이미 사용중인 모듈에 포함 된 메소드를 사용하여 솔루션을 찾는 데 추가 시간/노력을 기울일 가치가 있는지 여부에 대한 지침을 얻으려고합니다.

+0

코드를 아직 프로파일하셨습니까? –

+0

모듈 가져 오기는 코드가 수행하는 것과 비교하여 중요하지 않습니다. 수입 비용에 초점을 맞추는 것은 시간을할만한 가치가 없습니다. 문제를 해결하기 위해 모듈이 할 수있는 것에 집중하십시오. –

+0

@Ignacio : 아니, 나는 (그리고 임기를 소개해 주셔서 고마워). 나는 여전히 기본 아키텍처를 구축 중이다. 첫 번째 실행에서 한 번에 11 초 정도 걸렸습니다. 그 이후로 조금 더 많은 기능을 추가했지만 다른 한편으로는 개선의 여지가 많다는 것을 확신합니다. – joechoj

답변

2

파이썬의 모든 바이트 코드는 성능에 영향을줍니다. 그러나 해당 코드가 중요한 경로에 있고 많은 횟수 반복되지 않는 한 효과는 중요하지 않은만큼 작습니다. 사용 import

은 두 가지 단계로 구성 (수행 한 번 단지 ) 모듈을로드하고, 가져온 이름이 모듈 또는 모듈 객체 자체에 의해로드 뭔가를 참조하는 네임 스페이스에 추가된다 (이름을 바인딩). 이름 바인딩은 거의 비용이 들지 않습니다. 모듈로드는 한 번 발생하기 때문에 성능에 영향을주지 않습니다.

문제를 효율적으로 해결하는 데 모듈 기능이 할 수있는 것에 초점을 맞 춥니 다.

관련 문제