계산량 측정하기

Coding fabula | 2008/03/03 19:25 | beckgom

Codec에서 중요한 issue 중 하나인 complexity...

하지만 이것을 측정하는데 있어 통일된 기준이.....많지 않다. 

특히 floating point로 개발된 C source의 complexity를 측정할라치면

fixed-point로 변환해서 하던지...

아니면 매우 단순하게...

Processing time을 측정하여 complexity로 대신한다.

하지만...

아직 STL (Software Tools Library)포함되지는 않았지만...(아직 되지 않은 것으로 알고 있음)

포함될 것으로 유력한 방식이 있는데....

각 구문마다 #define으로 선언한 function을 넣어주는 방식이다.

예제로 3GPP sourceMOVE(1);, MULT(1); INDIRECT(1); 등으로 표시된 것이 그것이다.

이 방식은 Nokia VoiceAge에서 만든 것으로 알고 있는데...function을 다 넣어준 뒤,

#define을 링크해주는 파일을 제거하고 compile하면 그냥 아무것도 일어나지 않지만,

링크해주는 파일을 포함하여 compile하면 전체 complexity는 물론 각 function별 

complexity까지 아주 나이스!하게 정리해준다. 그리고 fixed-point version과 linear하다고(대충이겠지만) 해서

1.2만 곱해주어도 fixed-point version의 complexity로 예측할 수 있다.

매우 좋지만...

문제는 아직 open이 되지 않았다는 것....

물론 STL로 포함되더라도 ITU-T에서 돈을 지불하고 사야하지만,

지불하고라도 살 있다는 것이 얼마나 즐거운 일인지...

 

개발 프로그램에 complexity code 넣다가 심심해서...

 

이 글은 스프링노트에서 작성되었습니다.