تكتيكات لتحقيق أقصى سرعة لتنفيذ الشيفرة [مترجم]
#7
" تيقظ للأفكار المتلقاة "


مثال: الإزاحة:

كثيرا ما نرى ونسمع أن الإزاحات المزدوجة (Binaires/Binary) سريعة جدا إذا ما أردنا استبدال عملية ضرب أو قسمة بـ 2، 4، 8 الخ:
X := X shl 1
Y := Y shr 2
مع ذلك فوقت التنفيذ هو نفسه بواسطة دلفي 7. إذن نفضل الوضوح:
X := X * 2
Y := Y div 4
نسبة الأداء = 1 : 1

طلبت توضيحا من f0xi الذي يظن أن مجمِّع دلفي ممتاز جدا. هذا هو رده:

" لاسيما وحدات المعالجة المركزية التي أصبحت جيدة.
في حقبة المعالجات وحيدة القلب (monocore)، استعمال shr 1 أو shl 1 أسرع من عملية الضرب أو القسمة. الآن مع وحدات المعالجة مزدوجة (dual)، رباعية (quad)، ثمانية القلب (octo-core)، أصبح سخيف هذا النوع من التحسين.
[ ]
التحسين "المحلي " ليس في الحقيقة سؤالا يُطرح، نحن نتحدث أكثر عن التحسينات " العامة " لمجموع البرنامج و عناصره و أكثر عن منهجية العمل، لأنه إذا كان باستطاعة المجمِّع أن يحسِّن بعض الأوامر ،لا زال غير قادر على أن يحسن مجموعة كاملة من الأوامر."
الرد


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

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


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