测速小工具

    测试一下速度,可以掌握运算或操作耗用时间,为掌握程序运行速度提供帮助。

//---------------------------------------------------------------------------
//测速

_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,结果显示在窗体标题栏上。

posted @ 2018-06-06 22:31  hbg200  阅读(121)  评论(0编辑  收藏  举报