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

فنكشن تحسب وقت العمل ؟؟

بدأه جروحي بروحي في 23 مارس 2011 · 3 رد · 547 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

سؤال سريع

في لايبرري بلغة السي بلص

#incloude < ctime >

انا استدعيتها في الدف رفض التعرف عليها :(

فهل المشكله من الكومبايلر؟؟

طيب كيف احسب التايم من بداية عمل الفنكشن وحتى انتهائها ؟؟

ممكن مثال بسيط لو سمحتوا؟

شكرا مقدما

#2

هل هناك طريقة لحساب اجزاء الثانيه ؟؟

لان الثانيه لا تكفيني :( فاحيانا الفرق لا يكون واضح لو كان بالثانيه فقط

شكرا لكم

#3

راجع هذه المشاركه او هذه المشاركه.

و الله ولي التوفيق

مدونتي: C++ Tips and Tricks

#4

هناك طريقتين

1-

 QueryPerformanceFrequency ( (LARGE_INTEGER*)&_CountPerSecond);
	_mSecondPerCount = 1000.0 / (double)_CountPerSecond ;
::QueryPerformanceCounter( (LARGE_INTEGER*)&_CurrentTime);


// you function her
::QueryPerformanceCounter( (LARGE_INTEGER*)&_CurrentTime2);

_DeltaTime = (_CurrentTime2 - _CurrentTime ) * _mSecondPerCount

2-

DWORD StartTime = timeGetTime();

// do you funtion her

DWORD EndTime = timeGetTime();

DWORD youTime = StartTime-EndTime ;

الفرق بين الطريقتين

الطريقة الأولى : تعتمد على سرعة تردد المعالج وهي دقيقة جدا جدا جدا

الطريقة الثانية : سهلة وبسيطة والنتيجة تكون بالميلي ثانية فقط

معلومات عن الدوال المستخدمة

QueryPerformanceFrequency

QueryPerformanceCounter

timeGetTime()

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