공통 QueryPerformanceCounter 사용 시 주의사항(x86, 64bit)
2014.05.07 22:48
VCL 어플리케이션 작성 후 성능 테스트 시
QueryPerformanceCounter를 이용하는 경우 64bit에서 엉뚱한 결과를 표시하는 이슈가 확인되어 공유해드립니다.
결과를 먼저 이야기하면 intel x86 CPU에서 64bit 어플리케이션을 만들고 QueryPerformanceCounter를 수행하는 것은 안전하지 않을 수 있습니다.
되도록이면 아래의 코드형태로 사용하시기 바랍니다.
SYSTEMTIME systime;
GetSystemTime(&systime);
double st = (systime.wSecond * 1000) + systime.wMilliseconds;
// 성능테스트 대상 코드
//double et = usCounterD();
GetSystemTime(&systime);
double et = (systime.wSecond * 1000) + systime.wMilliseconds;
double tm_elapsed = et-st;
자세한 내용은 아래의 링크를 참고 해주세요.
http://qc.embarcadero.com/wc/qcmain.aspx?d=124408
http://www.virtualdub.org/blog/pivot/entry.php?id=106