2017-11-11 17 views
0

평면 프로필을 인쇄하기 전에 gprof에 샘플 수가 빈번하다는 것을 알고 있습니다. 샘플 카운트의 빈도에 따라 프로그램 판단 시간이 길어지고 프로파일 링을 위해 수집 된 샘플이 많으므로 데이터가 더 좋습니다. 그러나 이것이 사실인지 장기 실행 프로그램이 gprof에서 프로파일 링되는 데 적합한 지 여부는 확실하지 않습니다.gprof는 장기 실행 프로그램 분석에 적합합니까? 그 이유는 무엇?

모든 입력은 정말 도움이 될 것입니다.

+0

"분석"이라고하면 * gprof *에서 프로그래머에게 좋은 소식이 될 가능성이있는 프로그램 속도를 향상시킬 수있는 방법이 많지 않다고 알려줍니다 * false * 좋은 소식입니다. [* 여기에 이유와 방법이 더 잘되어 있습니다.] (https://stackoverflow.com/a/1779343/23771) –

+0

나는 프로그램의 속도 향상에 관심이 없으며 gprof 결과의 진실성에 대해서 오랫동안 실행되는 프로그램 – gajendra

답변

1

사실 gprof는 장점이 있지만 (어떤 플랫폼에서도 사용 가능) 단점은 더 복잡한 프로그램에는 적합하지 않습니다. 1) 계측 공유 라이브러리에서 함수 호출 오버 2) 캔트 프로필 코드 메인 쓰레드 3) 정보 만)를 캐시 그다지주고 플롭/s 6) 5 그리워 관한) 정보를 제공 나던 루프 등을 분석 나던 추가 나에게 지금까지 가장 논리적으로 보인다

0

내 대답은 : 프로그램이 장기 실행은 우리가 프로파일에만 관심이

경우 gprof은 샘플 수집의 주파수에 의존하기 때문에, 다음 grpof는 적절한 도구를 보인다 , 기본적으로 100Hz입니다. gprof의 실행 시간이 매우 짧고이 작은 기간 내에 많은 함수를 호출하는 경우 프로파일 링의 샘플 크기가 매우 적으므로 프로파일 된 샘플 함수의 샘플은 신뢰할 수 없습니다. 그렇지 않으면 프로파일 링을위한 계측 오버 헤드로 인해 프로그램의 실행 시간이 늘어날 수 있으며 총 실행 시간은 운영 체제 커널에서 제공하는 적절한 시간 함수를 호출하여 간단히 측정 할 수있는 응용 프로그램의 실제 런타임을 반영하지 못할 수 있습니다.