تكتيكات لتحقيق أقصى سرعة لتنفيذ الشيفرة [مترجم]
#25
الطريقة المستعملة من طرف الكاتب الأصلي وآخرين هي عبر الإجراء GetTickCount

أنظر SDK Help المرفق مع دلفي عند Win32 Developper's References

أو من موقع ميكروسوفت : http://msdn2.microsoft.com/en-us/library/ms724408.aspx

أظنها تنفع مع جميع لغات البرمجة ضمن Windows

هذا مثال أدرجه أحد المبرمجين

كود :
var GTADD, GTDIV : cardinal; procedure .... ; begin GTADD := GetTickCount; For N := 1 to 10000000 do X := 22 + 8; GTADD := GetTickCount - GTADD; GTDIV := GetTickCount; For N := 1 to 10000000 do X := 22 / 8; GTDIV := GetTickCount - GTDIV; caption := format('Add=%d ms / Div=%d ms',[GTADD, GTDIV]); end;

مع العلم أنه استعمل تكرار من 10000000 للحصول على قيمة قابلة للقياس، لأن GetTickCount ترجع قيمة milliseconds أي جزء من ألف جزء من الثانية (للعمليات الصغيرة قد ينتج 0)

وحسب المعالج processor فمثلا أحدهم قد يحصل على GTADD = 20 ms ، GTDIV = 30 ms بالنسبة للمثال أعلاه وآخر - مثلي - يحصل على GTADD = 15 ms ، GTDIV = 32 ms

.
الرد


الردود في هذا الموضوع
تكتيكات لتحقيق أقصى سرعة لتنفيذ الشيفرة [مترجم] - بواسطة merouane - 16-04-2008, 07:16 PM

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم