이 프로그램은 Sleep( 2000 )을 걸고! 퍼포먼스 카운터와 어셈블리 카운터와 타임겟타임을 비교해본것임.

순서대로 curTime 은 Performance Counter로 계산한 Elapsed time 이라고 할까요? 단위는 ns
part pc 는 ms단위의 Performance Counter,
curRe 는 앞에는 Performance Counter, 뒤에는 Assembly count 인데, 바로 전 상황과 현재의 차이.
asm pc 는 Assembly counter,
tgt.. timeGetTime
마지막 pc 는 순수한 Performance Counter의 값.

curRe 에서 보이듯이 어셈으로 테스트 했을땐 sleep( 2000 )에 맞게 딱딱 떨어졌는데,
퍼포먼스 카운트는 정확하게 2000으로 떨어지지가 않는다.( 요기도 역시 ns 단위 )

중간에 한번 변위가 엉망인 이유는 듀얼 코어.. 크흑.

확실히 퍼포먼스 카운터가 정밀도가 높아서 2초 단위로 찍어도 ns에서 나온 결과를 보면 수치가 조금씩 다르다.
멋쟁이 정밀도. 대신에 그 만큼 느리다는 단점은 널리 알려진 것이고.
근데.. 온라인 게임에서 쓰기에 ns단위까지 갈 필요가 있을까 라고 개인적으로 생각해본다.
그래서 개인적으로 timeGetTime을 주로 쓰는데 가끔 테스트로 GetTickCount 역시 사용하고. ㅋ
하지만 정밀도는 조금 버리는 한이 있더라도 역시 게임은 반응이 빨라야 재밌지. 함수 호출하는 시간을 조금이라도 더 아껴서
빠른 반응을 보인다면 약간의 딜레이정도는 무난하지 않을까 싶다. 그런의미에서 이제는 어셈 카운터가 원츄~!

참고로. performance counter 와 assembly counter 는 __int64형 timeGetTime은 DWORD형.
참고2. 어셈카운터는 ns 에서 0이 하나 더 붙어있는 값으로 나오더라 ㅋㅋ