PDA

View Full Version : زمان اجرای برنامه



amanat
سه شنبه 08 آبان 1386, 18:27 عصر
اگر کسی تابعی در c++ سراغ دارد که زمان اجرای برنامه را به میلی ثانیه حساب می کند ممنون می شوم بگوید

molla652003
سه شنبه 08 آبان 1386, 19:03 عصر
من تو ++VC نوشتم . اینجوری :

#include <ctime>
clock_t cl=clock()
cout << clock()-cl << endl;

SMRAH1
چهارشنبه 09 آبان 1386, 10:50 صبح
توی TC هم همینطوری میشه فقط الان یادم نیست که تابع clock توی کدوم سرفایله.

sasan_vm
چهارشنبه 09 آبان 1386, 17:57 عصر
اگه برنامه ات تحت Windows هست بهترین روش خواندن Hardware Clock است:


#ifndef __FC_PROFILER__H_
#define __FC_PROFILER__H_
#include <vcl.h>
#include <windows.h>
//------------------------------------------------------------------------------
class TFCProfiler
{
private:
__int64 Frequency;
__int64 StartTime;
__int64 StopTime;

public:
TFCProfiler()
{
StartTime = 0;
StopTime = 0;
::QueryPerformanceFrequency((LARGE_INTEGER*) &Frequency);
}
~TFCProfiler()
{
}
public:
void Start()
{
::QueryPerformanceCounter((LARGE_INTEGER*) &StartTime);
}
void Stop()
{
::QueryPerformanceCounter((LARGE_INTEGER*) &StopTime);
}
double GetElapsed() const
{
const double t = static_cast <double> (StopTime - StartTime) / Frequency;
return t;
}
AnsiString GetElapsed(int Point) const
{
AnsiString Str, Frm;
Frm.printf("%c.%df sec", '%', Point);
Str.printf(Frm.c_str(), GetElapsed());
return Str;
}
};
//------------------------------------------------------------------------------
#endif // __FC_PROFILER__H_

emad_67
پنج شنبه 10 آبان 1386, 21:00 عصر
من تو ++VC نوشتم . اینجوری :

#include <ctime>
clock_t cl=clock()
cout << clock()-cl << endl;
چرا نوشتی clock()-c1 ؟!! این که همیشه 0 میشه. باید همون clock() رو بنویسی.

EMANOEL
جمعه 11 آبان 1386, 19:13 عصر
include <time.h#
include <stdio.h #

} (int main(void
;clock_t start, end
; start ()= clock
;هر عملیکه میخوای که میخوای وقتشو بگیری
{ ; () end = clock
و برایاینکه حاصل رو به ثانیه ببینی تفاضل endوstartرو بر ماکروی CLK_TCKتقسیم میکنی ودر متغیرت میزاری.