2014-01-21 2 views
1

그냥 확인하고 싶었습니다.프로파일 링 및 프로파일 링이 없을 때 NYTProf 실행 시간

필자는 프로그램 실행 시간을 측정하는 작은 파이썬 스크립트를 가지고 있는데, 외부 프로그램이 시작되기 전에 시간을 절약하고 프로그램 실행이 끝나면이 값을 시간에서 제외합니다.

이 스크립트를 perl 스크립트에서 실행하면 실행 시간이 0.49263이고 NYTProf에서 동일한 스크립트를 실행하고 nytprofhtml에 의해 생성 된 HTML 보고서를 보면 실행 시간이 거의 0.80784임을 알 수 있습니다.

괜찮습니까? 프로파일 링은 실행 시간을 늘려야한다고 생각합니다.

답변

2

Devel :: NYTProf는 모든 단일 문 (및 블록 등)을 살펴야하기 때문에 정상입니다. 각 구문에 대해 프로파일 링 데이터를 디스크에 기록해야합니다. 이 비용은 상당히 높습니다. 그래서 프로덕션 환경에서 실행해서는 안됩니다.

documentation에서 더 빠르게 실행하는 방법에 대한 정보가 있습니다.


Linux 명령 줄에서 실행하는 경우 다른 프로그램이 명령 실행 시간을 가져올 필요가 없습니다. 단순히 쉘에서 다음을 수행하십시오.

+0

OK. 물론 그것은 그것이 자신의 비용입니다. 그러나 NYTProf는 자신의 업무 (디스크에 데이터 쓰기, 시간 측정, bla bla)에 소요 된 시간을 알고 있으며 대상/프로파일 프로그램에 소요 된 시간을 알고 있습니다. 이렇게하면 프로그램에서 실제로 사용 된 시간과 시간을 스스로 분리 할 수 ​​있습니다. – ggat