الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

طرق حساب وقت تنفيذ البرنامج

مغلق
بدأه مجلـد جديـد في 13 مايو 2007 · 0 رد · 344 مشاهدة · في ارشيف قسم C/C++
مشاركة: واتساب X فيسبوك تيليجرام
#1

السلام عليكم ورحمة الله وبركاته

كنت ابحث عن طريقة لحساب الوقت الذي يستغرقه البرنامج في العمل ، وجدت طريقتان جيدة واستخدمتها وهي تعمل 100% .

الطريقة الأولى:

#include <iostream>
using std::cout;

#include <sys/timeb.h>

int main()
{	

	struct _timeb st_time_start;
	struct _timeb st_time_end;

	_ftime( &st_time_start );
	// get start time in milliseconds
	long start = st_time_start.millitm;

	//Start


	for ( int i=0; i < 1000; i++ )
		//for ( int j=0; j < 1000; j++ )
			//for ( int k=0; k < 1000; k++ )
				cout <<"Welcome!";

	//End

	_ftime( &st_time_end );
	cout <<"Operation took: "<<( st_time_end.millitm-start )<<" ms\n";


	return 0;
}

الطريقة الثانية وهي باستخدام class :

#include <iostream>
using std::cout;
using std::endl;

#include <windows.h>

class CPrecisionTimer
{
	LARGE_INTEGER lFreq, lStart;
public:
	CPrecisionTimer()
		{
		QueryPerformanceFrequency( &lFreq );
		}

	inline void Start()
		{
		QueryPerformanceCounter( &lStart );
		}

	inline double Stop()
		{
		LARGE_INTEGER lEnd;
		QueryPerformanceCounter( &lEnd );
		return ( double( lEnd.QuadPart - lStart.QuadPart) / lFreq.QuadPart) * 1000;
		}
};

int main()
{
	CPrecisionTimer myTimer;
	myTimer.Start();

	//Start


	for ( int i=0; i < 1000; i++ )
		//for ( int j=0; j < 1000; j++ )
			//for ( int k=0; k < 1000; k++ )
				cout <<"Welcome!";

	//End

	cout <<"Operation took: " << myTimer.Stop() << endl;


	return 0;
}

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…