بدست آوردن زمان اجرای برنامه ها در c++ - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

بدست آوردن زمان اجرای برنامه ها در c++

+3 امتیاز

چجوری میشه زمان اجرای یک قسمت از کد رو با دقت بالا در c یا c++ بدست آورد ؟

سوال شده آذر 1, 1392  بوسیله ی 13mody (امتیاز 256)   8 36 54
دوباره تگ گذاری شد اردیبهشت 6, 1393 بوسیله ی BlueBlade

1 پاسخ

+6 امتیاز
 
بهترین پاسخ

بهترین راه استفاده از توابع high resolution هستش. به طور مثال من کلاس پایین رو پیاده سازی کردم و استفاده می کنم.

.header



class BhTimeMeasure
{
public:
	BhTimeMeasure();
	
	void start();
	void end();
    LONGLONG getStart()const;
	LONGLONG getEnd()const;
	LONGLONG getDif()const;
	void showDif(const char* title);
private:
	LARGE_INTEGER start_;
	LARGE_INTEGER end_;
	LARGE_INTEGER freq;
};

 

source


BhTimeMeasure::BhTimeMeasure()
{
	 QueryPerformanceFrequency(&freq);
}
void BhTimeMeasure::start()
{
	QueryPerformanceCounter(&start_);
}
void BhTimeMeasure::end()
{
	QueryPerformanceCounter(&end_);
}
LONGLONG BhTimeMeasure::getStart()const
{
	return start_.QuadPart;
}
LONGLONG BhTimeMeasure::getEnd()const
{
	return end_.QuadPart;
}

LONGLONG BhTimeMeasure::getDif()const
{
	return (LONGLONG)( (end_.QuadPart - start_.QuadPart) / (freq.QuadPart / 1000) );
}

void BhTimeMeasure::showDif(const char* title)
{
	cout << title << getDif() ;
}

 

 

پاسخ داده شده آذر 2, 1392 بوسیله ی مصطفی ساتکی (امتیاز 21,998)   24 34 75
انتخاب شد آذر 3, 1392 بوسیله ی 13mody
...