IPC وزمن الاستجابة والأداء الفعلي
احسب العمل المفيد، وحدد الاختناق، وقِس الطلب كاملًا.
أسرع تعليمة أحيانًا هي التي يتوقف برنامجك عن تنفيذها.
العمل الذي أنتجه المترجم.
ابحث عن الاختناق
شدة حسابية منخفضة تصطدم بسقف الذاكرة. إعادة استخدام البيانات قد تقرّب العمل من سقف الحساب.
حدود هذا النموذج
حد أعلى مثالي بحساب ونقل ثابتين. يتجاهل زمن الوصول والكلفة الإضافية ونقل مستويات المخبأ ومزيج التعليمات.
ما الذي يحدث في الداخل
تفكيك زمن التنفيذ
يربط عدد التعليمات ومتوسط الدورات لكل تعليمة والتردد زمن CPU بمعادلة بسيطة. IPC مقلوب CPI المتوسط للقياس نفسه. يتغير مع الفروع والاعتماديات وإخفاقات المخبأ والموارد. مقارنة IPC بين مجموعات تعليمات مختلفة دون عمل مكافئ مضللة.
قياس النتيجة التي يلاحظها المستخدم
يشمل الزمن المنقضي الانتظار والجدولة وI/O؛ ويقيس زمن CPU الوقت النشط المحسوب للعمل. يجيب معدل الإنجاز وزمن الاستجابة في أسوأ النسب عن سؤالين مختلفين. تغيّر المخابئ الدافئة ومدة التعزيز وخيارات المترجم والمدخلات والخلفية القياس. سجّل التكرار والتفاوت.
CPU time = instruction count × CPI / frequencyما أثر ذلك في برنامجك
مهندس الأنظمة والعتاد
استخدم العدادات لاختبار فرضية، وافحص تعريف الأحداث ومشاركة العدادات. كثرة إخفاقات المخبأ وحدها لا تحدد المسار الحرج.
مطوّر البرمجيات
قِس طلبات ممثلة وp95 وp99. قد لا يفيد تحسين دالة صغيرة كثيرًا في خدمة مقيدة بالإدخال والإخراج.
# Linux, where perf permissions allow it
perf stat -e cycles,instructions,branches,branch-misses ./app
# Repeat with representative inputs and record elapsed time.اقرأ المواصفات الأصلية
توضح هذه المراجع العقود الأساسية وتفاصيل التنفيذ. الرسومات هنا نماذج تعليمية مبسطة.