测速小工具
测试一下速度,可以掌握运算或操作耗用时间,为掌握程序运行速度提供帮助。
//---------------------------------------------------------------------------
//测速
_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,结果显示在窗体标题栏上。
 
                    
                     
                    
                 
                    
                 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号