2012-04-23 3 views
0

동일한 기능을 수행하는 두 가지 기능이 있지만 다른 방법으로 구현되었습니다. 저는이 두 가지 중 효율적인 것을 사용하고 싶었습니다.두 개의 유사한 기능을보다 효율적으로 결정하는 방법

파일에 함수를 입력하고 입력하기 전에 Timestamp을 쓸 수 있습니다. 그러나 위의 것을 파악하는 더 좋은 방법이 있는지 알고 싶었습니다.

나는 과 같은 profilers을 보았습니다. 그러나 그들이 생성 한 정보는 어떤 기능이 호출되는지를 나타냅니다. (아마도 내가 그들을 잘못 사용했다). 또한 Visual C++에 Linux 용 Valgrind과 같은 것이 있는지 알고 싶습니다.

+0

나는 일반적으로 QueryPerformanceCounter()를 사용하여 호출 시간을 측정합니다. - http://stackoverflow.com/questions/4727006/c-logging-and-performance-tuning-library –

답변

1

실제로 두 가지를 비교하려면 Timestamp 일을하고 각 기능을 각각 1 백만 번씩 호출하고 집계 타이밍을 비교하십시오.

start timer 
for i = 1 to 1m, call function 
stop timer 

이 방식은 함수의 실행 시간은 호출 횟수가 긴 후속 전화로서 호출에 대해 얻어 즉 처음에 의존하지 않는 것으로 가정한다.

더 자세한 프로파일 링 정보가 필요하면 plenty of options입니다.

+1

참조하십시오. * 최소값 * 각각에 대한 타이밍. 또한 참조 http://stackoverflow.com/a/4532685/916657 –

+0

@ Niklas - 나는 코드에 따라 다르지만 좋은 점 –

+0

물론, 그것은 함수에 따라 다릅니다. 하지만 "순수한"기능은 항상 사실입니다. –

관련 문제