测速小工具
测试一下速度,可以掌握运算或操作耗用时间,为掌握程序运行速度提供帮助。
//---------------------------------------------------------------------------
//测速
_LARGE_INTEGER iTestSpeed_StartTime;
void __fastcall StartTiming(void)//开始计时
{
QueryPerformanceCounter(&iTestSpeed_StartTime);//开始计时
}
void __fastcall StopTiming_s(TForm *Form)//停止计时(秒)
{
_LARGE_INTEGER iTestSpeed_StopTime,f; double fResult,fFrequency;
QueryPerformanceCounter(&iTestSpeed_StopTime);
QueryPerformanceFrequency(&f);//读取频率
fFrequency = f.QuadPart;
fResult = (double)((iTestSpeed_StopTime.QuadPart - iTestSpeed_StartTime.QuadPart) / fFrequency);//Ret S
Form->Caption = FormatFloat("0.0", fResult) + "S";
}
void __fastcall StopTiming_ms(TForm *Form)//停止计时(毫妙)
{
_LARGE_INTEGER iTestSpeed_StopTime,f; __int64 iResult;
QueryPerformanceCounter(&iTestSpeed_StopTime);
QueryPerformanceFrequency(&f);//读取频率
iResult = (iTestSpeed_StopTime.QuadPart - iTestSpeed_StartTime.QuadPart) / (f.QuadPart / 1000);//Ret ms
Form->Caption = IntToStr(iResult) + "ms";
}
void __fastcall StopTiming_us(TForm *Form)//停止计时(微妙)
{
_LARGE_INTEGER iTestSpeed_StopTime,f; double fResult,fFrequency;
QueryPerformanceCounter(&iTestSpeed_StopTime);
QueryPerformanceFrequency(&f);//读取频率
fFrequency = f.QuadPart;
fResult = (double)((iTestSpeed_StopTime.QuadPart - iTestSpeed_StartTime.QuadPart) / (fFrequency / 1000000.0));//Ret us
Form->Caption = FormatFloat("0.0", fResult) + "us";
}
void __fastcall StopTiming_co(TForm *Form)//停止计时(计数值)
{
_LARGE_INTEGER iTestSpeed_StopTime; __int64 iResult;
QueryPerformanceCounter(&iTestSpeed_StopTime);
iResult = iTestSpeed_StopTime.QuadPart - iTestSpeed_StartTime.QuadPart;//Ret co
Form->Caption = IntToStr(iResult) + "co";
}
//---------------------------------------------------------------------------
开始时,使用StartTiming,结束时使用StopTiming,结果显示在窗体标题栏上。