GetTickCount()는 시스템이 기동된 시점부터의 ms(0.001)단위의 시간을 구하는 거죠. 그럼 어떤 작업을 수행할 때 현재 Tick에서 과거 Tick을 빼면 소요시간을 구할 수 있을겁니다. (단일 Thread가정)
그와 다르게 GetThreadTimes()는 좀 더 세부화 해서 해당 Thread를 처리하는 동안 소요된 Kernel time과 User time, 시작 그리고 끝 시각을 알려주네요.
단순히 소요된 시간을 비교하기에는 무리가 있어보입니다.
왜냐하면 Thread가 동작하는 상황에 따라서 또는 Thread Priority에 따라 전체 소요시간이 일정하지 않기 때문이죠.
더군다나 Thread가 일정개수 이상이 되면 Thread간 switching(Context Switching) 소요시간이 커져서 전체 성능 또는 소요시간에 간섭을 일으키게 되고 결국 정확한 성능 측정을 방해하게 되죠.
GetTickCount()는 시스템이 기동된 시점부터의 ms(0.001)단위의 시간을 구하는 거죠. 그럼 어떤 작업을 수행할 때 현재 Tick에서 과거 Tick을 빼면 소요시간을 구할 수 있을겁니다. (단일 Thread가정)
그와 다르게 GetThreadTimes()는 좀 더 세부화 해서 해당 Thread를 처리하는 동안 소요된 Kernel time과 User time, 시작 그리고 끝 시각을 알려주네요.
단순히 소요된 시간을 비교하기에는 무리가 있어보입니다.
왜냐하면 Thread가 동작하는 상황에 따라서 또는 Thread Priority에 따라 전체 소요시간이 일정하지 않기 때문이죠.
더군다나 Thread가 일정개수 이상이 되면 Thread간 switching(Context Switching) 소요시간이 커져서 전체 성능 또는 소요시간에 간섭을 일으키게 되고 결국 정확한 성능 측정을 방해하게 되죠.
원하는 답이 될런지...아니면 뚱딴지 같은 소리밖에..