SYSTEM/Windows2010. 1. 2. 01:35

 

잘 안보이시면 클릭해서 봐주세요~

특별한 기능은 들어가 있지 않지만 간단히 쓸수 있는 라이브러리고욤.. ( 단순 시간 측정용으로만 쓸수 있습니다. )

 

다음과 같이 프로젝트를 하나 만들어주세욤~

전 main이라는 파일이름으로 코드를 짰네욤 ( 콘솔 프로젝트고요 )


그리고  프로젝트가 있는 폴더로 가서 다운받은 파일 3개를 옴겨 놓습니다.

 



그리고 나서 헤더파일에 추가를 해줍니다. ( 사실 추가하지 않아도 컴파일은 잘 되지만... 코드를 확인하기 위해서는... )

 


다음 샘플코드는 사용법에 대한것입니다.

시간 측정용 으로는 F 함수와 일반 함수 2가지를 제공하고 있는데요, 차이점은 결과를 보면서 설명해 드리겠습니다.

 


위의 코드를 실행 시키면 아래와 같은 결과를 얻을 수 있는데요,

 

차이점과 특징을 설명해드리겠습니다.

 

참고로 nomal 값은 ( NORMAL이란건 알고 있습니다만... 수정하기 귀찮네요 - _- ;; )

가장 정확한 값입니다. 어떠한 수정도 거치지 않고 시스템이 뱉어내준 수치기 때문에 믿을 수 있지만 사람이 알아먹기는 조금 불편합니다.

그래서 Info 함수를 호출해주시면 값을 리턴하는데, 이 값은 1초입니다.

즉 노말값을 Info함수로 얻을 값으로 나눠주면 초가 나오게되죠..

 

구할수 있는 값들은 정의되어 있습니다.

 

mili = 1/ 10^3

micro = 1/ 10^6

nano = 1/ 10^9

pico = 1/ 10^12

 

의 값들이며, 사실상 pico같이 작은 수치는 항상 0을 반환합니다. ( F함수의 경우 CPU성능이 좋을경우 0이 아닌 값을 반환할수있음 )

 

 

결과를 보면 F 함수의 값이 조금 큰것을 볼수있는데요,

F함수는 원도우의 스케쥴링 방식과 프로세스에 대한 영향을 무지막지하게 받기때문에, 차이값이 크게나게됩니다.

너무 작은 시간 10번 더하는시간 등과 같은 매우 작은 시간을 측정할때 사용할 수 있습니다.

일반 함수로는 0으로 값이 출력되기 때문에 쓸수가 없습니다. ( 매우작은 시간 측정시에는 F함수 호출 )

 

또한 F함수는 CPU에 의존적인 데이터입니다.

반드시 _FStart() 를 호출 하였으면 _FEnd() 를 호출하여야하며 _FEnd()를 먼저 호출시 발생하는 결과에는 책임을 지지 않습니다.


F 계열함수는 비스타이상의 OS에서 관리자 권한을 필요로 합니다.


F 계열의 Frequency 의 의미를 지니고 있습니다. ( 일반 함수를 측정했을경우 측정값을 구할수 없을 경우에 사용하는것을 권장드리며, 값이 커질수록 정확도가 떨어진다는 단점이 있습니다. )

Posted by redbit