نقطة اتصال (برمجة حاسوبية)
تحتاج هذه المقالة إلى مصادر إضافية للتحقق . ( مايو 2009 ) |
يتم تعريف النقطة الساخنة في علوم الكمبيوتر عادةً على أنها منطقة في برنامج الكمبيوتر تحدث فيها نسبة عالية من التعليمات المنفذة أو حيث يتم قضاء معظم الوقت أثناء تنفيذ البرنامج (ليس بالضرورة نفس الشيء نظرًا لأن بعض التعليمات أسرع من غيرها).
إذا تم مقاطعة برنامج بشكل عشوائي، فإن عداد البرنامج ( المؤشر إلى التعليمات التالية التي سيتم تنفيذها) غالبًا ما يحتوي على عنوان تعليمة ضمن نطاق معين، مما قد يشير إلى أن الكود يحتاج إلى تحسين أو حتى يشير إلى وجود حلقة وحدة معالجة مركزية "ضيقة" . يمكن لهذه التقنية البسيطة اكتشاف التعليمات المستخدمة بشكل كبير، على الرغم من أن الطرق الأكثر تطورًا، مثل محاكيات مجموعة التعليمات أو محللي الأداء ، تحقق ذلك بدقة وثبات أكبر.
تاريخ اكتشاف النقاط الساخنة
وصف عالم الكمبيوتر دونالد كنوث أول لقاء له مع ما أشار إليه بأثر القفزة في مقابلة مع مجلة الدكتور دوب في عام 1996، قائلاً:
في الستينيات، اخترع شخص ما مفهوم "تتبع القفزة". كانت هذه طريقة لتغيير لغة الآلة للبرنامج بحيث تغير الفرع التالي أو تعليمة القفز للاحتفاظ بالسيطرة، بحيث يمكنك تنفيذ البرنامج بسرعة عالية إلى حد ما بدلاً من تفسير كل تعليمة واحدة تلو الأخرى وتسجيلها في ملف حيث انحرف البرنامج عن التسلسل. من خلال معالجة هذا الملف، يمكنك معرفة المكان الذي يقضي فيه البرنامج معظم وقته. لذلك في اليوم الأول الذي قمنا فيه بتشغيل هذا البرنامج، قمنا بتطبيقه على مُجمِّع فورتران الذي قدمته، أعتقد أنه كان في تلك الأيام، شركة Control Data Corporation . اكتشفنا أنه كان يقضي 87 بالمائة من وقته في قراءة التعليقات ! كان السبب هو أنه كان يترجم من نظام كود إلى آخر إلى آخر. [1]
التكرار
إن المثال أعلاه يوضح أن اكتشاف النقاط الساخنة الفعّالة هو في الغالب عملية تكرارية وربما ينبغي تنفيذها دائمًا (بدلاً من مجرد قبول أن البرنامج يعمل بشكل معقول). بعد التخلص من جميع المعالجات غير الضرورية (فقط عن طريق إزالة جميع التعليقات المضمنة على سبيل المثال)، فإن تحليل وقت التشغيل الجديد من شأنه أن يكشف بدقة أكبر عن النقاط الساخنة "الحقيقية" في الترجمة. إذا لم يتم اكتشاف أي نقطة ساخنة على الإطلاق، فربما يكون البرنامج قد استهلك موارد أكثر بكثير مما هو ضروري، ربما لسنوات عديدة على العديد من الأجهزة، دون أن يدرك أحد ذلك تمامًا.
محاكاة مجموعة التعليمات كجهاز كشف النقاط الساخنة
يمكن استخدام محاكي مجموعة التعليمات لحساب كل مرة يتم فيها تنفيذ تعليمة معينة وإنتاج عرض على الشاشة أو قائمة مطبوعة بالبرامج (مع عدد و/أو نسب طول مسار التعليمات الإجمالي ) أو تقرير منفصل يوضح بدقة المكان الذي حدث فيه أعلى عدد من التعليمات. لا يوفر هذا سوى عرض نسبي للنقاط الساخنة (من منظور خطوة التعليمات) نظرًا لأن معظم التعليمات لها توقيتات مختلفة على العديد من الأجهزة. ومع ذلك، فإنه يوفر مقياسًا للكود المستخدم بشكل كبير ومفيدًا للغاية في حد ذاته عند ضبط خوارزمية.
انظر أيضا
مراجع
- ^ جاك ووير: مقابلة مع دونالد كنوث، أبريل 1996.
