تحليل الأداء (برمجة الحاسوب)
في هندسة البرمجيات ، يُعدّ تحليل الأداء ( تحليل أداء البرنامج ) شكلاً من أشكال التحليل الديناميكي للبرامج ، حيث يقيس، على سبيل المثال، تعقيد البرنامج من حيث المساحة (الذاكرة) أو الوقت ، واستخدام تعليمات معينة ، أو تكرار ومدة استدعاء الدوال. ويُستخدم تحليل الأداء في أغلب الأحيان للمساعدة في تحسين البرامج ، وتحديداً هندسة الأداء .
يتم تحقيق تحليل الأداء من خلال تزويد شفرة المصدر للبرنامج أو شكله التنفيذي الثنائي بأدوات تحليل الأداء باستخدام أداة تسمى محلل الأداء (أو محلل أداء الشفرة ). قد تستخدم أدوات تحليل الأداء عددًا من التقنيات المختلفة، مثل الأساليب القائمة على الأحداث، والأساليب الإحصائية، والأساليب المعتمدة على أدوات تحليل الأداء، وأساليب المحاكاة.
فعاليات برنامج التجمع
تستخدم أدوات تحليل الأداء مجموعة واسعة من التقنيات لجمع البيانات، بما في ذلك مقاطعات الأجهزة ، وأدوات قياس التعليمات البرمجية ، ومحاكاة مجموعة التعليمات ، وخطافات نظام التشغيل ، وعدادات الأداء .
استخدام أدوات تحليل البيانات

تُعدّ أدوات تحليل البرامج بالغة الأهمية لفهم سلوكها. يحتاج مهندسو الحواسيب إلى هذه الأدوات لتقييم أداء البرامج على البنى الجديدة . كما يحتاج مطوّرو البرامج إلى أدوات لتحليل برامجهم وتحديد الأجزاء الحرجة من التعليمات البرمجية. وغالبًا ما يستخدم مطوّرو المترجمات هذه الأدوات لمعرفة مدى كفاءة خوارزميات جدولة التعليمات أو التنبؤ بالتفرعات .
— أتوم، بي إل دي آي
قد تكون مخرجات برنامج تحليل الأداء كالتالي:
- ملخص إحصائي للأحداث المرصودة ( ملف تعريفي )
- غالبًا ما يتم عرض معلومات الملف الشخصي الموجزة مع تعليقات توضيحية مقابل عبارات التعليمات البرمجية المصدرية حيث تحدث الأحداث، لذا فإن حجم بيانات القياس يتناسب خطيًا مع حجم التعليمات البرمجية للبرنامج.
/* ------------ المصدر------------------------- العدد */ 0001 إذا كان X = "A" 0055 ٠٠٠٢ ثم افعل 0003 أضف 1 إلى XCOUNT 0032 0004 ELSE 0005 إذا كان X = "B" 0055
- سلسلة من الأحداث المسجلة ( أثر )
- بالنسبة للبرامج المتسلسلة، عادةً ما يكون الملف التعريفي الموجز كافيًا، ولكن مشاكل الأداء في البرامج المتوازية (انتظار الرسائل أو مشاكل التزامن) غالبًا ما تعتمد على العلاقة الزمنية للأحداث، مما يتطلب تتبعًا كاملاً لفهم ما يحدث.
- يتناسب حجم التتبع (الكامل) طرديًا مع طول مسار تعليمات البرنامج ، مما يجعله غير عملي إلى حد ما. لذلك، يمكن بدء التتبع من نقطة معينة في البرنامج وإنهاؤه عند نقطة أخرى للحد من حجم المخرجات.
- تفاعل مستمر مع برنامج إدارة الأجهزة الافتراضية (المراقبة المستمرة أو الدورية عبر شاشة العرض على سبيل المثال)
- يُتيح هذا إمكانية تشغيل أو إيقاف التتبع في أي نقطة مرغوبة أثناء التنفيذ، بالإضافة إلى عرض المقاييس الجارية حول البرنامج (الذي لا يزال قيد التنفيذ). كما يُتيح إمكانية تعليق العمليات غير المتزامنة عند نقاط حرجة لدراسة التفاعلات مع العمليات المتوازية الأخرى بمزيد من التفصيل.
يمكن تطبيق أداة تحليل الأداء على دالة فردية أو على مستوى وحدة أو برنامج، لتحديد نقاط الاختناق في الأداء من خلال إظهار التعليمات البرمجية طويلة الأمد. [ 1 ] يمكن استخدام أداة تحليل الأداء لفهم التعليمات البرمجية من منظور التوقيت، بهدف تحسينها للتعامل مع ظروف وقت التشغيل المختلفة [ 2 ] أو الأحمال المختلفة. [ 3 ] يمكن للمترجم استيعاب نتائج تحليل الأداء لتوفير تحسين موجه بالتحليل . [ 4 ] يمكن استخدام نتائج تحليل الأداء لتوجيه تصميم وتحسين خوارزمية فردية؛ خوارزمية كراوس لمطابقة الأحرف البديلة مثال على ذلك. [ 5 ] تُدمج أدوات تحليل الأداء في بعض أنظمة إدارة أداء التطبيقات التي تجمع بيانات تحليل الأداء لتوفير نظرة ثاقبة على أحمال العمل في التطبيقات الموزعة . [ 6 ]
تاريخ
كانت أدوات تحليل الأداء متوفرة على منصات IBM/360 و IBM/370 منذ أوائل سبعينيات القرن الماضي، وكانت تعتمد عادةً على مقاطعات المؤقت التي تسجل كلمة حالة البرنامج (PSW) على فترات زمنية محددة للكشف عن "النقاط الساخنة" في تنفيذ التعليمات البرمجية. كان هذا مثالًا مبكرًا على أخذ العينات (انظر أدناه). في أوائل عام 1974، أتاحت محاكيات مجموعة التعليمات إمكانية التتبع الكامل وميزات أخرى لمراقبة الأداء.
يعود تاريخ تحليل البرامج باستخدام أداة تحليل الأداء على أنظمة يونكس إلى عام 1973، [ 7 ] عندما كانت أنظمة يونكس تتضمن أداة أساسية، profتُدرج كل دالة ومقدار وقت تنفيذ البرنامج الذي تستهلكه. وفي عام 1982، gprofتم توسيع المفهوم ليشمل تحليلًا كاملًا لرسم بياني للاستدعاءات . [ 8 ]
في عام ١٩٩٤، نشر أميتاب سريفاستافا وآلان يوستاس من شركة ديجيتال إكويبمنت ورقة بحثية تصف برنامج ATOM [ ٩ ] (أدوات التحليل باستخدام OM). تقوم منصة ATOM بتحويل البرنامج إلى أداة تحليل خاصة به: ففي وقت الترجمة ، تُدرج شيفرة برمجية في البرنامج المراد تحليله. وتُخرج هذه الشيفرة المُدرجة بيانات التحليل. تُعرف هذه التقنية - تعديل البرنامج لتحليل نفسه - باسم " التجهيز ".
في عام 2004، gprofظهرت كلتا الورقتين البحثيتين و ATOM في قائمة أكثر 50 ورقة بحثية تأثيرًا في PLDI لفترة العشرين عامًا المنتهية في عام 1999. [ 10 ]
أنواع محلل الأداء بناءً على المخرجات
أداة تشكيل مسطحة
تقوم أدوات تحليل الأداء المسطحة بحساب متوسط أوقات المكالمات، من المكالمات نفسها، ولا تقوم بتقسيم أوقات المكالمات بناءً على المتلقي أو السياق. [ 11 ]
محلل مخطط المكالمات
تُظهر أدوات تحليل مخططات الاستدعاء [ 8 ] أوقات الاستدعاء وتكرار الدوال، بالإضافة إلى سلاسل الاستدعاءات المُتضمنة بناءً على الدالة المُستدعاة. في بعض الأدوات، لا يتم الاحتفاظ بالسياق الكامل .
محلل بيانات حساس للمدخلات
تُضيف أدوات تحليل الأداء الحساسة للمدخلات [ 12 ] [ 13 ] [ 14 ] بُعدًا إضافيًا لأدوات تحليل الأداء المسطحة أو القائمة على مخططات الاستدعاءات، وذلك بربط مقاييس الأداء بخصائص أحمال العمل المدخلة، مثل حجم المدخلات أو قيمها. وتُنشئ هذه الأدوات مخططات توضح كيفية تغير أداء التطبيق تبعًا لمدخلاته.
دقة البيانات في أنواع محللات البيانات
تقوم أدوات تحليل الأداء، وهي برامج بحد ذاتها، بتحليل البرامج المستهدفة من خلال جمع معلومات حول تنفيذها. وبناءً على دقة بياناتها، والتي تعتمد على كيفية جمعها للمعلومات، تُصنف هذه الأدوات إلى أدوات تحليل أداء قائمة على الأحداث وأدوات تحليل أداء إحصائية . تقوم أدوات تحليل الأداء بمقاطعة تنفيذ البرنامج لجمع المعلومات. قد تحد هذه المقاطعات من دقة قياس الوقت، مما يعني ضرورة التعامل مع نتائج التوقيت بحذر. تُبلغ أدوات تحليل الأداء الأساسية عن عدد دورات ساعة الجهاز المخصصة لتنفيذ كل سطر من التعليمات البرمجية، أو عن التوقيت بناءً على جمع هذه الدورات؛ وقد لا تعكس التوقيتات المُبلغ عنها لكل كتلة أساسية الفرق بين حالات الوصول إلى الذاكرة المؤقتة وحالات عدم الوصول إليها. [ 15 ] [ 16 ]
محللو البيانات القائمون على الأحداث
تتوفر أدوات تحليل الأداء القائمة على الأحداث للغات البرمجة التالية:
- جافا : توفر واجهة برمجة تطبيقات JVMTI (واجهة أدوات JVM)، والتي كانت تُعرف سابقًا باسم JVMPI (واجهة تعريف JVM)، نقاط ربط لأدوات التعريف، لالتقاط الأحداث مثل المكالمات، وتحميل الفئات، وإلغاء التحميل، ودخول وخروج مؤشر الترابط.
- في بيئة .NET : يمكن ربط وكيل تحليل الأداء كخادم COM ببيئة CLR باستخدام واجهة برمجة تطبيقات تحليل الأداء . وكما هو الحال في Java، توفر بيئة التشغيل بعد ذلك العديد من وظائف الاستدعاء للوكيل، وذلك لاعتراض أحداث مثل JIT /الدخول/الخروج من الدوال، وإنشاء الكائنات، وما إلى ذلك. وتكمن قوته بشكل خاص في قدرة وكيل تحليل الأداء على إعادة كتابة بايت كود التطبيق المستهدف بطرق مختلفة.
- بايثون : يتضمن تحليل أداء بايثون وحدة profile، و hotshot (التي تعتمد على مخطط الاستدعاء)، واستخدام وظيفة 'sys.setprofile' لالتقاط الأحداث مثل c_{call,return,exception}، python_{call,return,exception}.
- روبي : تستخدم روبي أيضًا واجهة مشابهة لواجهة بايثون لتحليل الأداء. يتوفر Flat-profiler في ملف profile.rb، وهو وحدة نمطية، بالإضافة إلى ruby-prof، وهو امتداد مكتوب بلغة C.
محللو البيانات الإحصائية
تعمل هذه الأدوات التحليلية عن طريق أخذ العينات . يقوم محلل أخذ العينات بفحص مكدس استدعاءات البرنامج المستهدف على فترات منتظمة باستخدام مقاطعات نظام التشغيل . عادةً ما تكون ملفات تعريف أخذ العينات أقل دقةً وتحديدًا من الناحية العددية، حيث توفر تقريبًا إحصائيًا فقط، ولكنها تسمح للبرنامج المستهدف بالعمل بسرعة قريبة من سرعته الكاملة. "عادةً ما يكون مقدار الخطأ الفعلي أكبر من فترة أخذ عينات واحدة. في الواقع، إذا كانت قيمة ما تساوي n ضعف فترة أخذ العينات، فإن الخطأ المتوقع فيها هو الجذر التربيعي لعدد n من فترات أخذ العينات." [ 17 ]
عمليًا، غالبًا ما توفر أدوات تحليل الأداء القائمة على أخذ العينات صورةً أدقّ لتنفيذ البرنامج المستهدف مقارنةً بالأساليب الأخرى، نظرًا لأنها أقل تدخلاً في البرنامج المستهدف، وبالتالي لا تُحدث آثارًا جانبية كثيرة (مثل تأثيرها على ذاكرة التخزين المؤقت أو مسارات فك تشفير التعليمات). كما أنها، نظرًا لانخفاض الحمل الزائد عليها، قادرة على كشف المشكلات التي قد تبقى خفيةً لولاها. [ 18 ] وهي أيضًا محصنة نسبيًا ضد المبالغة في تقدير تكلفة الإجراءات الصغيرة التي تُستدعى بشكل متكرر أو الحلقات "الضيقة". ويمكنها إظهار النسبة المئوية للوقت المُستغرق في وضع المستخدم مقابل وضع النواة القابل للمقاطعة، مثل معالجة استدعاءات النظام .
لسوء الحظ، يؤدي تشغيل كود النواة لمعالجة المقاطعات إلى خسارة طفيفة في دورات المعالج من البرنامج المستهدف، وتحويل استخدام الذاكرة المؤقتة، وعدم القدرة على التمييز بين المهام المختلفة التي تحدث في كود النواة غير القابل للمقاطعة (نشاط في نطاق الميكروثانية) وكود المستخدم. يمكن للأجهزة المخصصة أن تقدم أداءً أفضل: فواجهات JTAG في معالجات ARM Cortex-M3 وبعض معالجات MIPS الحديثة تحتوي على سجل PCSAMPLE، الذي يأخذ عينات من عداد البرنامج بطريقة غير قابلة للكشف، مما يسمح بجمع بيانات ثابتة دون تدخل.
من بين أدوات تحليل الأداء الإحصائي الشائعة الاستخدام [ 19 ] لبرامج جافا/البرامج المُدارة، نجد AQtime من SmartBear Software [ 20 ] و CLR Profiler من مايكروسوفت [ 21 ] . تدعم هذه الأدوات أيضًا تحليل أداء البرامج الأصلية، إلى جانب Shark من Apple Inc. (لنظام التشغيل OSX) [ 22 ] وOProfile (لنظام التشغيل Linux) [ 23 ] و Intel VTune وParallel Amplifier (جزء من Intel Parallel Studio ) و Oracle Performance Analyzer [ 24 ] ، وغيرها.
الأجهزة
تُضيف هذه التقنية تعليمات فعّالة إلى البرنامج المستهدف لجمع المعلومات المطلوبة. تجدر الإشارة إلى أن إضافة أدوات قياس الأداء إلى البرنامج قد تُؤدي إلى تغييرات في الأداء، وقد تُؤدي في بعض الحالات إلى نتائج غير دقيقة أو أخطاء برمجية غير متوقعة . يعتمد التأثير على نوع المعلومات التي يتم جمعها، ومستوى تفاصيل التوقيت المُبلغ عنها، وما إذا كان يتم استخدام تحليل أداء الكتل الأساسي بالتزامن مع أدوات القياس. [ 25 ] على سبيل المثال، من المُرجح أن يكون لإضافة تعليمات برمجية لحساب كل استدعاء إجراء/روتين تأثير أقل من حساب عدد مرات تنفيذ كل عبارة. تحتوي بعض أجهزة الكمبيوتر على مكونات مادية خاصة لجمع المعلومات؛ وفي هذه الحالة يكون التأثير على البرنامج ضئيلاً.
تعتبر الأجهزة عنصراً أساسياً في تحديد مستوى التحكم ومقدار الدقة الزمنية المتاحة لأجهزة التحليل.
- يدوي : يتم تنفيذه بواسطة المبرمج، على سبيل المثال عن طريق إضافة تعليمات لحساب أوقات التشغيل بشكل صريح، أو ببساطة عن طريق عد الأحداث أو استدعاءات واجهات برمجة التطبيقات للقياس مثل معيار قياس استجابة التطبيق .
- مستوى المصدر التلقائي : أدوات القياس المضافة إلى شفرة المصدر بواسطة أداة تلقائية وفقًا لسياسة القياس.
- لغة وسيطة : أدوات مضافة إلى لغة التجميع أو التعليمات البرمجية المفككة توفر الدعم للغات المصدر متعددة المستوى وتتجنب مشاكل إعادة كتابة الإزاحة الثنائية (غير الرمزية).
- بمساعدة المُترجم
- الترجمة الثنائية : تضيف الأداة أدوات قياس إلى ملف تنفيذي مُجمَّع .
- مراقبة وقت التشغيل : يتم تجهيز الكود بالأدوات اللازمة قبل التنفيذ مباشرةً. ويتم الإشراف على تشغيل البرنامج والتحكم فيه بشكل كامل بواسطة الأداة.
- حقن وقت التشغيل : أخف وزنًا من أدوات قياس وقت التشغيل. يتم تعديل الكود في وقت التشغيل لإضافة قفزات إلى الدوال المساعدة.
أدوات الترجمة الفورية
- تُمكّن خيارات تصحيح الأخطاء في المترجم من جمع مقاييس الأداء عند معالجة كل عبارة من عبارات البرنامج المستهدف. ومن الأمثلة على ذلك مترجمات البايت كود ، وجداول التحكم ، ومترجمات JIT ، التي عادةً ما تتمتع بتحكم كامل في تنفيذ البرنامج المستهدف، مما يتيح فرصًا واسعة النطاق لجمع البيانات.
برنامج محاكاة/مراقب الأجهزة الافتراضية
- المُشرف : تُجمع البيانات عن طريق تشغيل البرنامج (عادةً) دون تعديل تحت مُشرف . مثال: SIMMON
- المحاكي والمشرف : يتم جمع البيانات بشكل تفاعلي وانتقائي عن طريق تشغيل البرنامج غير المعدل تحت محاكي مجموعة التعليمات .
انظر أيضاً
- الكفاءة الخوارزمية
- المعيار – تقييم الأداء المعياري
- أداء جافا – جانب من جوانب لغة برمجة جافا
- قائمة أدوات تحليل الأداء
- PAPI – مكتبة برمجية لمقاييس المعالجات الدقيقة
- هندسة الأداء – تشمل التقنيات المطبقة خلال دورة حياة تطوير الأنظمة
- توقع الأداء
- تحسين الأداء
- التحقق أثناء التشغيل – استخراج المعلومات من نظام قيد التشغيل للتحقق من خصائص معينة
- التحسين الموجه بالملف التعريفي – تقنية تحسين المُترجم
- تحليل الشفرة الثابتة – تحليل برامج الحاسوب دون تنفيذها. صفحات تعرض أوصافًا مختصرة لأهداف إعادة التوجيه.
- علم آثار البرمجيات – دراسة تطبيقات البرمجيات القديمة
- أسوأ وقت للتنفيذ - أقصى مدة زمنية يمكن أن تستغرقها مهمة محسوبة للتنفيذ (WCET)
مراجع
- ↑ "كيفية تحديد نقطة الاختناق في أداء تطبيق سطح المكتب المكتوب بلغة C#؟" . Stack Overflow . 2012.
- ↑ كراوس، كيرك جيه (2017). "تحليل الأداء مع التركيز" . التطوير من أجل الأداء.
- ↑ "ما هو تحليل أداء الكود؟ تعرّف على أنواع أدوات تحليل أداء الكود الثلاثة" . نصائح وحيل وموارد للمطورين من Stackify . Disqus. 2016.
- ↑ لورانس، إريك (2016). "البدء في تحسين الملفات الشخصية الموجه" . testslashplain . ووردبريس.
- ↑ كراوس، كيرك (2018). "مطابقة الأحرف البديلة: خوارزمية محسّنة للبيانات الضخمة" . التطوير من أجل الأداء.
- ↑ "قائمة أدوات تحليل أداء .NET: 3 أنواع مختلفة ولماذا تحتاج إليها جميعًا" . نصائح وحيل وموارد للمطورين من Stackify . Disqus. 2016.
- ↑ دليل مبرمج يونكس، الطبعة الرابعة
- 1 2 إس إل غراهام، بي بي كيسلر، وإم كيه مكوسيك، gprof: محلل أداء تنفيذ مخطط الاستدعاء ، وقائع ندوة SIGPLAN '82 حول بناء المترجمات، إشعارات SIGPLAN ، المجلد 17، العدد 6، الصفحات 120-126؛ doi:10.1145/800230.806987
- ↑ أ. سريفاستافا وأ. يوستاس، ATOM: نظام لبناء أدوات تحليل برامج مخصصة ، وقائع مؤتمر ACM SIGPLAN حول تصميم وتنفيذ لغات البرمجة (PLDI '94)، الصفحات 196-205، 1994؛ أرشيف الصفحة الرئيسية لـ ACM SIGPLAN Notices - Best of PLDI 1979-1999، المجلد 39، العدد 4، الصفحات 528-539؛ doi:10.1145/989393.989446
- ↑ عشرون عامًا من PLDI (1979-1999): مختارات ، كاثرين س. ماكينلي ، محررة
- ↑ مابلزدن، ديفيد؛ تيمبيرو، إيوان؛ هوسكينغ، جون؛ غروندي، جون (2015). "تحليل أداء البرمجيات الموجهة للكائنات: رسم خرائط منهجي" . معاملات IEEE في هندسة البرمجيات : 1-1 . doi : 10.1109/tse.2015.2396514 .
- ↑ E. Coppa، C. Demetrescu، and I. Finocchi، التنميط الحساس للمدخلات ، IEEE Trans. هندسة البرمجيات 40(12): 1185-1205 (2014)؛ دوى:10.1109/TSE.2014.2339825
- ↑ د. زابارانوكس وم. هاوسويرث، تحليل الأداء الخوارزمي ، وقائع المؤتمر الثالث والثلاثين لجمعية ACM SIGPLAN حول تصميم وتنفيذ لغات البرمجة (PLDI 2012)، نشرة ACM SIGPLAN، المجلد 47، العدد 6، الصفحات 67-76، 2012؛ doi:10.1145/2254064.2254074
- ↑ تي. كوستنر، جيه. وايدندورفر، وتي. واينزيرل، تحليل الأداء المُتحكم فيه بالوسائط ، وقائع ورش عمل المعالجة المتوازية Euro-Par 2009، سلسلة محاضرات في علوم الحاسوب، المجلد 6043، الصفحات 177-184، 2010؛ doi:10.1007/978-3-642-14122-5 22
- ↑ "التوقيت والتحليل - أدوات تحليل الكتل الأساسية" . أرشيف OpenStax CNX .
- ↑ بول، توماس؛ لاروس، جيمس ر. (1994). "التحليل الأمثل وتتبع البرامج" (ملف PDF) . معاملات ACM في لغات البرمجة والأنظمة . 16 (4). مكتبة ACM الرقمية: 1319-1360 . doi : 10.1145/183432.183527 . S2CID 6897138. مؤرشف من الأصل (ملف PDF) بتاريخ 18-05-2018 . تم الاسترجاع بتاريخ 18-05-2018 .
- ↑ عدم دقة النتائج الإحصائية (
gprofمؤرشفة بتاريخ 29-05-2012 في أرشيف الإنترنت) - ↑ رايشيلت، ديفيد جورج؛ سكارباليوس، جوزاس (2026). "تقييم دقة كشف التغيير والعبء الإضافي للأجهزة وأخذ العينات". ملحق المؤتمر الدولي السابع عشر لهندسة الأداء ACM/SPEC . ملحق ICPE '26. نيويورك، نيويورك، الولايات المتحدة الأمريكية: ACM. ص 8. doi : 10.1145/3777911.3800701 .
- ↑ "أدوات تحليل الأداء الشائعة في لغة C#" . جينتج. 2014.
- ^ "ملف تعريف أخذ العينات – نظرة عامة" . أك تايم 8 المرجع . برنامج سمارت بير. 2018.
- ↑ وينزال، مايرا؛ وآخرون (2017). "نظرة عامة على التنميط" . مرجع واجهة برمجة التطبيقات غير المُدارة لإطار عمل Microsoft .NET . Microsoft.
- ↑ "أدوات الأداء" . أدوات مطوري Apple . شركة Apple، 2013.
- ↑ نيتو، زانيلا؛ أرنولد، رايان س. (2012). "تقييم أداء لينكس على باور" . آي بي إم ديفيلوبر وركس .
- ↑ شميدل، ديرك؛ تيربوفن، كريستيان؛ آن ماي، ديتر؛ مولر، ماتياس س. (2013). مدى ملاءمة أدوات الأداء لبرامج OpenMP المتوازية المهام . وقائع ورشة العمل الدولية السابعة حول الأدوات المتوازية للحوسبة عالية الأداء. الصفحات 25-37 . ISBN 9783319081441.
- ^ كارلتون ، غاري. كيركجارد، كنود؛ سحر ، ديفيد (1998). "التحسينات الموجهة للملف الشخصي" . مجلة الدكتور دوب .
روابط خارجية
- مقال بعنوان " الحاجة إلى السرعة - القضاء على اختناقات الأداء " حول إجراء تحليل وقت التنفيذ لتطبيقات Java باستخدام IBM Rational Application Developer .
- تحليل أداء الكود المُولّد والمُفسّر أثناء التشغيل باستخدام محلل الأداء VTune
- تحسين البرمجيات
- محللو البيانات الشخصية
