حساب وقت تنفيذ الكود - سي شارب - مقـــالات - Top Coder
Welcome to our Site
الدخــول Or تسجـــيل
السبت
2016-12-10
5:35 PM
تسجــــيل | دخـــول
الرئيسية » مقالات » سي شارب

حساب وقت تنفيذ الكود
حساب وقت تنفيذ الكود

مقـــدمه
المقاله توضح طريقه بسيطه لكيفية حساب الوقت الذي استغرقته عملية تنفيذ كود معين  
Stopwatch
Stopwatch هو اسم الكلاس الذي سنستخدمه في هذه العمليه , ويندرج هذا الكلاس تحت النيم سبيس System.Diagnostics لذلك يجب اضافته الى الكود , وواضح من اسم الكلاس انه يستخدم كساعة توقيت , و بنفس الطريقه التي نستخدمها بها في الواقع هي طريقة استخدام ذلك الكلاس في الكود , فعند بداية العمليه نقوم بتشغيل الساعه Start وبعد الانتهاء نقوم بإيقافها Stop , وعندها يكون لدينا الوقت المستغرق فيها , والكود التالي يوضح كيف يحدث ذلك في الكود
Using Stopwatch
 
وكما نرى فالعملية بسيطه , فيمكنك بين سطري التشغيل والايقاف وضع العمليه التي تريد ان تحسب وقت تنفيذها , فيمكنك وضع كود البحث عن ملف مثلاً لحساب الوقت المستغرق لإيجاده , او لحساب وقت تحميل صفحة ويب معينه , او الوقت المستغرق لجلب بيانات من قاعدة بيانات ... وهكذا فالاستخدامات لا يمكن حصرها , ولكن أهمية العمليه كبيره , فيمكنك المقارنه بين طريقتين مختلفتين ينفذان نفس العمليه وإختيار العمليه التي تستغرق وقتاً اقل من اجل تحسين الاداء لبرنامجك .

فمثلاً يمكنك تطبيق ذلك على اختبار استخدام for , foreach ايهما افضل من ناحية الوقت المستغرق , و كإفتراض سنقوم بعمل مصفوفه من نوع int بحيث يكون عدد العناصر بها كبير الى حد ما , ونستخدم الطريقتين فقط في المرور على عناصر المصفوفه , وبالتالي حساب الوقت المستغرق لكل منهم في المرور على عناصر المصفوفه , فالطريقتين يؤدون نفس الغرض تماماً , ولنقوم بالإختبار
using for loop
using foreach loop
 
وبعد إجراء التجربه كانت النتائج كالتالي :

1- for كانت النتائج تتركز بين 330 ملي ثانيه و 500 ملي ثانيه وتقفز احياناً فوق 500 , وكان المتوسط لخمس تجارب متواصله = 403 ملي ثانيه .

2- foreach النتائج تتركز بين 700 ملي ثانيه و 850 ملي ثانيه وكانت تقفز احيانا فوق 1000 ثانيه , وكان متوسط خمس تجارب 822 ملي ثانيه .

وبالتالي يمكن القول ان استخدام الطريقه for في عمليات اللوب افضل من استخدام الطريقه foreach .
ختــام
وهذه التجربه لتوضيح اهمية حساب وقت تنفيذ الكود , فتلك العمليه - المرور على عناصر تلك المصفوفه - هي عملية بسيطه نسبياً وليست لها اية فائده , ولكن عند قيامك بتطوير عمليات تستغرق وقتاً كبيراً او عملية معقدة بها اسطر كثيره من الكود , فان عامل الوقت له اهمية كبرى , وبالتالي فالطريقه المستخدمه لتنفيذ عملية معينه ينصب عليه اهميه كبيره , وكمثال عملي على ذلك فمتصفح جوجل كروم يعتبر أسرع من المتصفحات الأخرى نسبياً وهذا اعطى له ميزه كبيره , رغم قيام جميع المتصفحات بنفس العمليه , ولكن الفرق بينهم في طريقه جلب الصفحات وعرضها .
تحميل المشروع
 Written by :  Mohammed Mahmoud
الفئة: سي شارب | أضاف: ham_mody2000 (2011-10-23 3:12 AM)
مشاهده: 3011 | الترتيب: 0.0/0


أترك تعليقك من خلال حسابك على الفيس بوك

تعليقات مشتركي الموقع

مجموع المقالات: 0
إضافة تعليق يستطيع فقط المستخدمون المسجلون
[ التسجيل | دخول ]
طريقة الدخول
بحث
Our Facebook community

تم إطلاق صفحة توب كودر على الفيس بوك

Advertisment
الأحـــدث
hitstatus
Copyright Mohammed Mahmoud © 2016
إنشاء موقع مجاني с uCoz