TickMeter 클래스를 이용하여 특정 연산이 수행되는 시간을 측정하려면 다음과 같은 형태로 소스 코드를 작성합니다.
TickMeter tm; tm.start(); my_func(); // do something tm.stop(); double ms = tm.getTimeMilli();
TickMeter 클래스를 이용하여 연산 시간을 측정하기 위해서는 TickMeter 타입의 변수를 먼저 선언해야 합니다. 앞 예제 코드에서는 tm이라는 이름의 변수를 선언하였습니다. 그리고 시간 측정을 시작하는 위치에서 tm.start() 함수를 호출하고, 시간 측정을 마치는 위치에서 tm.stop() 함수를 호출합니다. 앞 코드에서는 my_func() 함수 호출 전후에 각각 tm.start() 함수와 tm.stop() 함수를 호출하였습니다. tm.start() 함수가 호출된 시점부터 tm.stop() 함수가 호출된 시점까지의 시간 간격은 TickMeter 내부 멤버 변수에 저장되고, 이 시간 간격을 밀리초 단위로 받아 오기 위하여 tm.getTimeMilli() 함수를 사용하였습니다. 앞 예제 코드에서는 double형 변수 ms에 my_func() 함수 실행 시간이 저장됩니다.
TickMeter 클래스를 이용하여 간단한 영상 처리 실행 시간을 측정하는 예제 코드를 코드 4-19에 나타냈습니다. 코드 4-19의 time_inverse() 함수는 for 반복문을 이용하여 레나 영상을 직접 반전시키고, 이때 소요되는 연산 시간을 측정하여 콘솔 창에 출력합니다. time_inverse() 함수가 정의된 소스 파일은 내려받은 예제 파일 중 ch04/utils 프로젝트에서 확인할 수 있습니다.