2010-09-21 4 views
7

많은 sleep(n) 문을 가진 스크립트를 프로파일 링하기 시작했습니다. 대체로, 저는 실행 시간의 99 % 이상을 잠자 게되었습니다. 그럼에도 불구하고 가끔은 실제 작업을 수행하는 동안 성능 문제가 발생하지만 관련성이 높고 흥미로운 프로파일 링 데이터는 예를 들어 다음과 같은 경우를 식별하기가 매우 어려워집니다. kcachegrind를 사용합니다.Python cProfile : 프로파일 링 데이터에서 특정 호출을 필터링하는 방법은 무엇입니까?

특정 통화/기능을 프로파일 링하지 못하게 할 수있는 방법이 있습니까? 아니면 프로파일 링 데이터 파일의 사후 처리를 통해 이러한 호출을 필터링 할 수 있습니까?

나는 profilestats 데코레이터 (http://pypi.python.org/pypi/profilestats)를 사용하고 있습니다.

감사합니다.

답변

2

sleep() 중에 샘플을 제외하는 것 이상의 것이 필요합니다. 유용한 정보를 알려주기 위해 나머지 샘플이 필요합니다. 이는 스택 클럭 시간에 스택 샘플링으로 코드 줄 수준에서 퍼센트를 요약합니다. Zoom은 이러한 종류의 샘플링을위한 훌륭한 도구이며 특정 기능을 포함하는 샘플을 무시하는 것이 그리 어렵지 않기를 바랍니다.