일단 VS2008로 Win32 콘솔 프로그램(C)을 만들고 있어요.
프로그램이 실행되면 추가적인 조작없이 일련의 연산을 수행하고 프로그램이 종료되는데,
이때 프로그램에서 얼마나 많은 연산이 수행되었는지 아는 방법이 있을까 해서요.
함수도 많고, 관계도 복잡하고, 동일 함수를 호출해도 조건이 다른 경우에 연산하는 횟수가 달라서
프로그램이 실행되면 추가적인 조작없이 일련의 연산을 수행하고 프로그램이 종료되는데,
이때 프로그램에서 얼마나 많은 연산이 수행되었는지 아는 방법이 있을까 해서요.
함수도 많고, 관계도 복잡하고, 동일 함수를 호출해도 조건이 다른 경우에 연산하는 횟수가 달라서
모든 과정에 counter++ 를 넣는 방법은 좀 어렵네요.
정확한 단위로 나타날 필요가 없고, 상대적으로 덜 연산이 되었다는 것만 확인하면 되는데,
시간을 측정하기에는 컴퓨터 상태라는 조건이 동일하다는 걸 입증하기 어렵네요.
예를 들어 이 프로그램은 얼마얼마 정도의 양의 연산이 수행되었고
이 프로그램은 얼마얼마 정도 상대적인 수치로 표시되어도 상관없습니다.
(프로그램 1이 230정도의 연산을 수행하였고,
프로그램 2는 130정도의 연산을 수행하였다 이정도만 나와도 충분.)
시간을 측정하는 방법이 아닌 객관적인 비교값이 나오게 하는 방법이 있을까요.
CPU에 어느정도 연산을 요구하였는지 알수 있는 방법이나 다른 좋은 방법이 있다면 알려주세요~~~
정확한 단위로 나타날 필요가 없고, 상대적으로 덜 연산이 되었다는 것만 확인하면 되는데,
시간을 측정하기에는 컴퓨터 상태라는 조건이 동일하다는 걸 입증하기 어렵네요.
예를 들어 이 프로그램은 얼마얼마 정도의 양의 연산이 수행되었고
이 프로그램은 얼마얼마 정도 상대적인 수치로 표시되어도 상관없습니다.
(프로그램 1이 230정도의 연산을 수행하였고,
프로그램 2는 130정도의 연산을 수행하였다 이정도만 나와도 충분.)
시간을 측정하는 방법이 아닌 객관적인 비교값이 나오게 하는 방법이 있을까요.
CPU에 어느정도 연산을 요구하였는지 알수 있는 방법이나 다른 좋은 방법이 있다면 알려주세요~~~
딱 알고리즘 성능 분석이 필요한 고갱님이네요
어떻게 할수 있을려나요...
CPU에 연산횟수까지 알아내는 법은 저도 잘모르겠고... 대충 저는 점근 표기법밖에 모르겠네요.
흠 CPU 연산횟수 ? ㅋㅋㅋ 흠... CPU의 CPI랑 커널 , 유저 점유시간을 각각구한다음에.....
gcc 를 쓰신다믄 gcov 라는 툴이 잇어 라인별로 카운팅도 되고 이것저것... 비주얼은 잘 모르겟네요 [핡]