المبادئ التوجيهية الأساسية لقياس عالي الأداء
-
30-09-2019 - |
سؤال
سأقوم بتقييم العديد من التطبيقات لبرنامج محاكاة عددي على جهاز كمبيوتر عالي الأداء ، وخاصة فيما يتعلق بالوقت-ولكن يمكن أن تكون الموارد الأخرى مثل استخدام الذاكرة والاتصالات بين العمليات وما إلى ذلك مثيرة للاهتمام أيضًا.
أما الآن ، ليس لدي أي معرفة بالإرشادات العامة كيفية قياس البرمجيات (في هذا المجال). لا أعرف ، مقدار ضوضاء القياس المتوقعة بشكل معقول ، ولا مقدار الاختبارات التي يقوم بها المرء عادةً. على الرغم من أن هذه المشكلات تعتمد على النظام ، إلا أنني متأكد من وجود بعض المعايير التي تعتبر معقولة.
هل يمكنك تقديم هذه المعلومات (التمهيدية)؟
المحلول
إذا لم يستغرق الاختبار الكثير من الوقت ، فأنا أكرره (على سبيل المثال 10،000 مرة) لجعل الأمر يستغرق عدة ثوان.
ثم أفعل ذلك عدة مرات (على سبيل المثال 5 مرات) لمعرفة ما إذا كانت نتائج الاختبار قابلة للاستنساخ (أو ما إذا كانت متغيرة للغاية).
هناك حدود لهذا النهج (على سبيل المثال ، يتم اختبارها باستخدام ذاكرة التخزين المؤقت "الدافئة") ، ولكنها أفضل من لا شيء: وخاصةً في مقارنة الكود المماثل ، على سبيل المثال ، لمعرفة ما إذا كان التعديل في الأداء أو لم يكن قد أحسن الأداء أم لا. (أي للقيام "قبل" و "بعد" الاختبار).
نصائح أخرى
أفضل طريقة هي اختبار الوظيفة التي ستستخدمها بالفعل!
هل يمكنك تشغيل عينة فرعية من المشكلة الفعلية - والتي ستستغرق بضع دقائق فقط ، وببساطة وقت على الأجهزة المختلفة؟