Borland C++ Builder FAQ - Определение тактовой частоты CPU

ОГЛАВЛЕНИЕ


Определение тактовой частоты CPU

// При помощи этой функции можно определить тактовую частоту CPU:
double CPUSpeed(void)
{
    DWORD dwTimerHi, dwTimerLo; double dRes;
    asm
    {
        DW 0x310F
        mov dwTimerLo, EAX
        mov dwTimerHi, EDX
    }
    Sleep (500);
    asm
    {
        DW 0x310F
        sub EAX, dwTimerLo
        sub EAX, dwTimerHi
        mov dwTimerLo, EAX
        mov dwTimerHi, EDX
    }
    dRes = dwTimerLo/(1000.0*500);
    return dRes;
}