안녕 하세요?
BacTeria 박종민 입니다.
오늘의 팁은 CPU 속도 측정하는 루틴 입니다.
정확하진 않지만 뭐, 대충은 맞는것 같습니다.
그럼 이만... 오늘 하루도 열심히...
PS. 예전에 받아 놓았던 팁인데 어디서 받았는지 기억이 안 나네요~ ^.-
procedure TForm1.Button1Click(Sender: TObject);
type
TCompRec = record
Lo, Hi : DWord;
end;
var
Chk1, Chk2 : Comp;
CpuSpeed : Extended;
Time1 : DWord;
begin
Time1 := GetTickCount;
while Time1 = GetTickCount do;
asm
DB 0FH
DB 031H
mov TCompRec(Chk1).hi, edx
mov TCompRec(Chk1).Lo, eax
end;
while GetTickCount < (Time1 + 400) do;
asm
DB 0FH
DB 031H
mov TCompRec(Chk2).hi, edx
mov TCompRec(Chk2).Lo, eax
end;
CpuSpeed := 2.5e-6 * (Chk2 - Chk1);
ShowMessage(Format('CPU Speed = %f MHz', [CpuSpeed]));
end;
|