Table of Contents

وتعد لغات البرمجة المرجعية ممارسة حاسمة في مجال تطوير البرامجيات تشمل قياس ومقارنة خصائص الأداء بمختلف لغات البرمجة وتنفيذها بصورة منهجية، وتساعد عملية التقييم الشاملة هذه المطورين والمهندسين المعماريين والمنظمات على اتخاذ قرارات تستند إلى البيانات بشأن اللغات التي ينبغي اعتمادها لمشاريع محددة، وتعظيم قواعد البيانات القائمة، وفهم المفاضلة بين مختلف الخيارات التكنولوجية، وذلك بوضع مقاييس قابلة للقياس الكمي وإجراءات للاختبار الموحدة، مما يتيح وضع مؤشرات مرجعية عن مختلف اللغات الموضوعية.

فهم تخصيص لغة البرمجة

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

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

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

منهجيات التخصيص الأساسي

مجموعة الاختبارات الموحدة

وتوفر البذلات المرجعية الموحدة أعباء عمل ثابتة ومستنسخة تتيح إجراء مقارنات عادلة بين مختلف عمليات تنفيذ لغات البرمجة، وأكثرها شهرة وأطول معيار للغة التشغيل هو الألعاب المرجعية للغة الحاسوب التي كانت بمثابة نقطة مرجعية لمقارنات أداء اللغات لسنوات عديدة، وتشمل هذه البدلات الموحدة عادة مجموعة متنوعة من المهام الحسابية التي تستهدف الإجهاد على مختلف جوانب أداء اللغات.

(ب) تقييم أداء 25 لغة برمجة على أربعة مهام كثيفة للاتحاد، تمثل نهجاً حديثاً لوضع معايير مرجعية شاملة للغات، ويتم اختيار المهام الواردة في هذه المعايير بعناية لتمثيل التحديات الحسابية في العالم الحقيقي، مع بقاءها بسيطة بما يكفي لتنفيذ ما يعادلها من لغات مختلفة.

عند تصميم المواصفات المرجعية، من المهم للغاية إدراج أنواع مختلفة من المشاكل التي تُمارس مختلف السمات اللغوية وخصائص الدوام، وتستغرق المهام الأربع في الـ (بلب2) بضع ثوانٍ للتنفيذ السريع، وتتمثل المهام في: حل مشكلة ذات طيف يتراوح بين 15 و 19 دقيقة، وقد استوحى الخوارزمية من التنفيذ الثاني لمدونة (روزيتا)، وهي تشمل حلقات مُلتصق، وعمليات ذات طابع مُحدّد.

تنفيذ المدونة المكافئة

ومن بين أكثر التقنيات المعيارية عملية واتساع نطاق استخدامها كتابة ما يعادلها من الدمى الرمزية بلغات برمجة مختلفة وقياس أدائها في ظروف متطابقة، وهذا الأسلوب يتطلب اهتماما دقيقا لضمان أن تمثل التنفيذات فعلاً مدونة قواعدية في كل لغة مع الحفاظ على التكافؤ المغناطيسي، والهدف هو مقارنة كيفية تعامل كل لغة مع نفس العمليات المنطقية بدلا من مقارنة النهج الجيرية المختلفة.

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

ويوفر هذا النهج أفكارا قيمة عن الاختلافات في الأداء في العالم الحقيقي التي يحتمل أن يواجهها المطورون عند بناء التطبيقات، غير أنه يتطلب خبرة كبيرة بلغات البرمجة المتعددة لضمان أن يكون كل تنفيذ صحيحا وأن يكون ممثلا لأنماط الاستخدام النموذجية في تلك اللغة.

أدوات التخصيص الآلي

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

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

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

مقاييس الأداء الأساسي

وقت التنفيذ ووقتها الاستجابة

وقت الاستجابة (وقت التنفيذ) - الوقت الذي يفصل بين بداية المهمة وإنجازها مهم بالنسبة لفرادى المستعملين، ويمثل وقت التنفيذ أحد أهم مقاييس الأداء الأساسية واللازمة في وضع معايير مرجعية للغة البرمجة، ويعرف وقت التنفيذ بأنه وقت الجدار الفاصل من بداية البرنامج إلى نهاية برنامج مواز، ويوفر مقياسا مباشرا للمدة التي يستغرقها البرنامج لإتمام عمله.

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

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

ويمكن زيادة تصنيف القياسات الزمنية للاستجابة إلى الحد الأدنى والحد الأقصى ومتوسط أوقات الاستجابة، إذ تُحدِّد أقصر مدة زمنية يستغرقها النظام للاستجابة لطلب المستعملين، وهو يمثل أفضل سيناريو، ويُحدِّد أطول مدة يستغرقها النظام للاستجابة لطلب المستعملين، ويمثل السيناريو أسوأ سيناريو، ويُقدِّم فهم توزيع أوقات الاستجابة، بما في ذلك قياسات الموازين مثل المئويين 95 أو 99، صورة أكمل للأداء عن المتوسط.

من خلال المدخلات والقدرة على المعالجة

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

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

ومن ناحية أخرى، يقيّم الناتج مقدار العمل الذي يمكن أن ينجزه النظام في كل وحدة من الوحدات الزمنية، التي كثيرا ما تُعبَّر عنها بوصفها مهام في الثانية أو التعليمات في الثانية؛ وفي حين أن وقت التنفيذ يركز على أداء المهام الفردية، فإن الناتج يعكس القدرة على النظام، وهذا التمييز حاسم لأن النظام قد يُفرَق في مرحلة قياسية بينما يؤدي أداء ضعيفا في المرحلة الثانية، مثلا، قد يكون لللغة وقت ممتاز للتنفيذ منفردا، ولكن ضعيفا بسبب القيود المفروضة على التجهيز المتزامن.

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

الاستهلاك الافتراضي والإدارة

ويمثل استخدام الذاكرة قياساً حاسماً للأداء يؤثر تأثيراً كبيراً على أداء التطبيقات وتكاليف التشغيل، وتقاس مقاييس استخدام الموارد، مثل استخدام وحدة التجهيز المركزية، واستهلاك الذاكرة، وكفاءة الطاقة، واستهلاك الطاقة، عادة، ولا يؤثر الاستهلاك الافتراضي على السرعة التي تسير بها التطبيقات فحسب، بل يؤثر أيضاً على مدى قابليتها للتقدير وعلى تكاليف الهياكل الأساسية اللازمة لدعمها.

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

وتستخدم لغات البرمجة المختلفة استراتيجيات مختلفة إلى حد كبير لإدارة الذاكرة، بدءا بإدارة الذاكرة اليدوية بلغات مثل جيم وجيم ++، إلى جمع النفايات التلقائية بلغات مثل جافا، وبيثون، وذهاب، وهذه الاختلافات لها آثار عميقة على أنماط استهلاك الذاكرة، وقد تظهر اللغات التي تجمع القمامة ارتفاعا دوريا في استخدام الذاكرة كأشياء تراكمت قبل جمعها، بينما تظهر اللغات التي تدار يدويا أنماطا لاستعمال الذاكرة يمكن التنبؤ بها، ولكنها تتطلب برامج أكثر دقة لتجنب التسرب.

ومن المجالات الهامة التي لا تقيِّمها هذه المادة أداء تخصيص الذاكرة و/أو جمع القمامة، وقد يسهم ذلك في الأداء العملي أكثر من وضع مدونة للآلات، ومع ذلك، من الصعب تصميم علامة دقيقة واقعية لتقييم تخصيص الذاكرة، وهذا الإقرار يبرز تعقيد خصائص الأداء ذات الصلة بالذاكرة على نحو شامل.

استخدام مرافق التصوير المكلورة قصيرة الأجل وتجهيزها

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

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

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

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

مجموعات مواد تنفيذ اللغات وخصائص الأداء

اللغات المترجمة

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

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

وعلى الرغم من القيود المفروضة على الأداء، تظل اللغات المترجمة شائعة في العديد من حالات الاستخدام التي تسود فيها سرعة التنمية، وسهولة الاستخدام، وتفوق سرعة التنفيذ الخام في سرعة النقل، وتتفوق على التأليف والنشر السريع، والتطبيقات التي تهيمن فيها العمليات المشتركة بين الوكالات أو المكالمات الخارجية بدلا من حسابها.

اللغات المركبة فقط في الوقت

وقد جمعت هذه التكنولوجيات (Dart, Bun/Node, Java, Julia, LuaJIT, PHP, PyPy and Ruby3 مع YJIT) وهي عموما أسرع من الترجمة الشفوية البحتة، ومع ذلك هناك اختلاف كبير في هذه المجموعة، ويمثل التجميع في الوقت المناسب أساسا وسطيا بين الترجمة الشفوية والتجميع في وقت مبكر، مما يتيح تحسين الأداء على الترجمة الشفوية النقية مع الحفاظ على بعض المرونة والقدرات الدينامية للغات المفسرة.

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

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

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

اللغات المركبة قبل الوقت

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

(ب) يتيح تجميع المعدات التقنية استخدام تقنيات متطورة للتفاؤل تكون صعبة أو مستحيلة الأداء في وقت التشغيل، وتشمل هذه الأساليب الاستخدام الأمثل للبرمجة بأكملها، والتفسير الأمثل للصور، والتفسيرات على نحو أمثل في المعدات التي تستفيد من خصائص معينة من اليورانيوم المستنفد، وتشمل الخصائص الرئيسية التي تسهم في سرعة اللغة ما يلي: إدارة الذاكرة على مستوى منخفض: إدارة المطورين الذين يتحكمون في الذاكرة (مثل الرمز C/C+++++

وتجسد لغات مثل C, C+++, و Rust النهج التجميعي " AOT " ، الذي يتيح للمطورين ضبطا دقيقا على إدارة الذاكرة وموارد النظام، وقد وضع في أوائل السبعينات، لا تزال C واحدة من أسرع اللغات نظرا لقدراتها المنخفضة المستوى، وتتيح إمكانية الوصول مباشرة إلى الذاكرة، مما يتيح مراقبة دقيقة لموارد النظام، والحد الأدنى من النفقات العامة، حيث يتم تجميع المدونة مباشرة على الرمز الآلي.

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

النظر في وضع علامات متقدمة

الاتساق البيئي

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

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

وكثيرا ما تستخدم الممارسات الحديثة لتحديد المعايير تكنولوجيات الحاويات مثل دوكر لضمان وجود بيئات متسقة عبر مختلف سلاسل الاختبارات والأجهزة، ويمكن لنظم التكامل المستمر أن تُجري تلقائيا معايير في البيئات الخاضعة للرقابة، وتتتبع الأداء على مر الزمن، وتكشف عن حدوث تراجعات، وتساعد هذه الآلية على الحفاظ على الاتساق وتوفر بيانات الأداء التاريخية التي يمكن أن تكشف عن الاتجاهات وتحديد متى كانت التغييرات تؤثر على الأداء.

السجل الإحصائي والتقلب

ومن الضروري إجراء تحليل إحصائي سليم لاستخلاص استنتاجات مفيدة من البيانات المرجعية، وجميع القيم معروضة على أنها: انحراف مطلق متوسط، واستخدام تدابير إحصائية مثل الانحراف المطلق الوسيط والمتوسط يوفر نتائج أقوى من المتوسطات البسيطة التي يمكن أن يُخزّنها من قبل جهات خارجية.

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

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

أداء الدول

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

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

ويتوقف النهج المناسب على تقييم حالة الاستخدام، إذ أن تطبيقات الخواديم التي طال أمدها تهتم أساسا بالأداء الثابت بعد الاحترار، في حين أن المهام التي لا تخدم الخدمة أو أدوات خط القيادة أكثر حساسية للأداء البارد، ويساعد فهم هذه السيناريوهات المختلفة على ضمان أن تكون النتائج المرجعية متسقة مع أنماط الاستخدام في العالم الحقيقي.

النزاهة والمدونة الأبوية

ملاحظة أن التنفيذ قد يكون استخداماً للتفاؤلات المختلفة، مثلاً مع تعددية القراءة أو بدونها، يرجى قراءة رمز المصدر للتحقق من أنه إجراء مقارنة عادلة أو لا، وهذا التحذير يبرز تحدياً بالغ الأهمية في تحديد المعايير اللغوية: ضمان أن تكون المقارنات عادلة، مع أنها لا تزال تمثل استخداماً واقعياً لكل لغة.

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

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

أساليب حساب الأداء العملي

حساب وقت التنفيذ

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

عند قياس وقت التنفيذ، من المهم تقليل الرؤوس العامة للقياس نفسه، رمز التوقيت يجب أن يكون وزناً خفيفاً قدر الإمكان لتجنب تشويه القياسات، بالنسبة للعمليات السريعة جداً، قد يكون من الضروري تنفيذ الرمز عدة مرات في حلقة وتقسيم الوقت الإجمالي بعدد المضاعفات للحصول على وقت عمل دقيق.

فالأداء يرتبط على العكس بوقت التنفيذ، وهذه العلاقة الأساسية تعني أن تقليص وقت التنفيذ يحسن الأداء بشكل مباشر، وعند مقارنة التنفيذين، يمكن حساب السرعة على أنها نسبة وقت التنفيذ، وإذا كان الحاسوب ألف يدير برنامجا في 10 ثوان، ويدير الحاسوب باء نفس البرنامج في 20 ثانية، فكم هو أسرع من باء؟ سرعة ألف = 20/10 = 2، مع الإشارة ألف أسرع مرتين من باء.

قياس نزيف الذاكرة

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

وتوفر معظم نظم التشغيل أدوات وملحقات قياس استخدام الذاكرة العملية، أما في النظم الشبيهة باليونيكس، فإن ملفات /proc] تقدم معلومات مفصلة عن الذاكرة.() وكثيرا ما تشمل لغات البرمجة مكتبات أو وحدات للاستفسار عن استخدام الذاكرة من داخل البرامج، وللمزيد من التحليل التفصيلي، يمكن لمحات الذاكرة أن تتعقب أنماط التخصيص، وتحدد التسربات الذاكرة، وأنماط التي تستخدم الذاكرة.

100 - توفر هذه الصيغة قياساً مستفاداً من استخدام الذاكرة يمكن أن يكون مفيداً لفهم مدى قرب النظام إلى حدود ذاكرته، ويمكن أن يؤدي ارتفاع استخدام الذاكرة إلى تدهور الأداء بسبب زيادة الربو أو تبادل المعلومات، مما يجعل هذا القياس هاماً للرصد أثناء وضع المعايير المرجعية.

مقاييس حسابية للمدخلات

وتشمل حسابات النواتج عادة عد عدد العمليات المنجزة في غضون فترة زمنية محددة، والصيغة الأساسية هي: الناتج = عدد العمليات/الفترة الزمنية، ويمكن التعبير عن ذلك في وحدات مختلفة تبعا للسياق، مثل المعاملات في الثانية، والطلبات في الثانية، أو العمليات في الثانية الواحدة.

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

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

تحليل استخدام وحدة منع الحملات

ويساعد تحليل استخدام وحدة مكافحة الفساد في فهم مدى فعالية استخدام البرنامج لموارد المجهزين المتاحة، وتوفر نظم التشغيل أدوات مختلفة لرصد استخدام وحدة منع الحمل، بما في ذلك مرافق خط القيادة مثل ، htop، و]]vmstat Wind Performance[FLT:ix:5]

وتوفر أدوات تحديد الأرقام تحليلا أكثر تفصيلا لنموذج الاستهلاك من خلال تحديد المهام أو الأقسام الرمزية التي تستهلك أكثر أوقات وحدة استخدام الأراضي المكلورة بالأشعة، وهذه المعلومات لا تقدر بثمن بالنسبة لجهود تحقيق أقصى قدر من التأثير، حيث تبرز التحسينات التي يمكن أن يكون لها أكبر أثر، ويمكن للمواصفات الحديثة أن تقدم رسومات المكالمات ورسومات اللهب وغيرها من الصور التي تجعل من السهل فهم أنماط استخدام اليورانيوم المكلورة بالأشعة.

عند تحليل استخدام وحدة تحليل البرامجيات، من المهم التمييز بين وقت الاستخدام (التوقيت المنفق في تطبيق مدونة التطبيق) والوقت النظامي (الوقت المنفق في عمليات النفقة نيابة عن التطبيق) وقد يشير ارتفاع الوقت في النظام إلى المكالمات المفرطة في النظام، أو عمليات التشغيل المتكاملة أو تغيير السياق، مما يشير إلى استراتيجيات مختلفة للتفاؤل عن وقت الاستخدام المرتفع.

سيناريوهات تخصيص الموارد في العالم

أداء التطبيقات على شبكة الإنترنت

وتطرح التطبيقات الشبكية تحديات قياسية فريدة نظراً لطابعها الموزع واعتمادها على عناصر متعددة تشمل خواديم الشبكة، وخواديم التطبيقات، وقواعد البيانات، والهياكل الأساسية للشبكات، وتتطلب تطبيقات تحديد المواقع الشبكية قياساً ليس فقط أداء رمز التطبيقات بل أيضاً دورة الاستجابة للطلبات بأكملها، بما في ذلك مدى تواتر الشبكة، والوقت اللازم لتجهيز الخواديم، وتنفيذ قواعد البيانات.

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

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

تجهيز البيانات والتحليل

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

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

وتصبح الكفاءة الافتراضية مهمة بوجه خاص بالنسبة لتطبيقات تجهيز البيانات، حيث أن العمل مع مجموعات البيانات الكبيرة يمكن أن يستنفد بسرعة الذاكرة المتاحة، فاللغات والأطر التي تدعم التصفيف الفعال أو المعالجة خارج نطاق المعلومات يمكن أن تعالج مجموعات بيانات أكبر من تلك التي تتطلب جميع البيانات لكي تلائم الذاكرة، وينبغي أن تقيس المعايير المتعلقة بتجهيز الاحتياجات من سرعة الذاكرة وإتاحة صورة كاملة للأداء.

تجهيزات مشتركة وبارالية

وتعتمد التطبيقات الحديثة بشكل متزايد على التجهيز المتزامن والموازي لتحقيق أداء عال للمجهزين المتعددي العناصر، ونماذج التطابق الفعالة: السماح بالاستخدام الفعال للمجهزين المتعددي الأطراف (مثل Go, Rust).

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

ويجب أن تُعزى المعايير الموحدة إلى عوامل مثل التركيب العام، وتكاليف التزامن، والادعاء بالقفل، وآثار التواؤم في الخفاء، ويمكن أن تؤثر هذه النفقات العامة تأثيرا كبيرا على الأداء، وقد تتسبب في تنفيذات موازية تؤدي إلى أسوأ من تلك المتسلسلة إذا لم تُدار بعناية، ويساعد فهم هذه العوامل في تصميم تطبيقات متزامنة فعالة وتفسير النتائج المرجعية على نحو صحيح.

الرصيف المشترك وأفضل الممارسات

تجنب المجازر الدقيقة

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

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

وفي حين أن العلامات الدقيقة لها مكانها في فهم خصائص الأداء المحددة، فإن العلامات الكلية التي تقيس التطبيقات الكاملة أو النظم الفرعية الكبيرة توفر عادة مؤشرات أكثر موثوقية للأداء في العالم الحقيقي، وهذه المعايير الكبيرة تستوعب على نحو أفضل التفاعلات المعقدة والمبادلات التي تميز سلوك التطبيق الفعلي.

ضمان إمكانية إعادة الإنتاج

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

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

وعند تقاسم النتائج المرجعية، يقدم المرء تفاصيل كافية عن الآخرين لاستخلاص القياسات فحسب، بل يشمل أيضاً المنهجية وعدد مراتب المضاعفة ونهج التحليل الإحصائي وأي عوامل بيئية ذات صلة، والشفافية في منهجية وضع المعايير تولد الثقة في النتائج وتتيح للآخرين التحقق من النتائج.

ترجمة شفوية للنتائج

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

الأداء هو مجرد عامل واحد في قرارات اختيار اللغات، وتشمل الاعتبارات الأخرى إنتاجية المطورين، ونضج النظام الإيكولوجي، وتوافر المكتبات، والدعم المجتمعي، والقدرة على الحفظ، وخبرة الفريق، واللغة التي تبطئ بنسبة 10 في المائة، ولكنها تتيح تحقيق تنمية أسرع بنسبة 50 في المائة، يمكن أن تكون الخيار الأفضل للعديد من المشاريع، علماً بأن المعايير المرجعية هي التي ينبغي أن تكون هي العامل الحاسم الوحيد.

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

الأدوات والأطر الخاصة بتحديد اللغات

المكتبات المخصصة للتخصص اللغوي

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

وهذه الأدوات الخاصة باللغات تتفهم الفروق الدقيقة في فترات تواتر كل منها ويمكن أن تفسر عوامل مثل تجميع التسخين وجمع القمامة وسلوك آخر محدد زمنياً، وهي عادة ما توفر سمات مثل فترات الاحترار الآلي، والتحليل الإحصائي للجرائم المتعددة، وكشف أوجه الخلل في القياس، واستخدام هذه الأدوات الثابتة بدلاً من كتابة رموز التوقيت المعتادة يساعد على ضمان قياسات دقيقة وموثوقة.

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

منابر تخصيص الموارد عبر الحدود

وتركز عدة منابر ومشاريع على تحديد النقاط المرجعية للغات المختلفة، وتوفير مواصفات موحدة للاختبارات، والهياكل الأساسية لمقارنة مختلف اللغات، وتوفر هذه البرامج موارد قيمة لفهم أداء اللغات النسبية عبر مختلف المهام، وقد عملت لعبة النقاط المرجعية للغات الحاسوب منذ فترة طويلة كمرجع لمقارنات أداء اللغات، مما يوفر تنفيذات مختلفة من الخوارزميات عبر عشرات اللغات.

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

عند استخدام منابر مرجعية عبر لغات، فحص التنفيذ بعناية لفهم ما يجري قياسه، قد تستخدم مختلف العمليات الخوارزميات، أو المستويات المثلى، أو السمات اللغوية، التي يمكن أن تؤثر تأثيرا كبيرا على النتائج، ويساعد فهم هذه الاختلافات على تفسير النتائج على النحو المناسب وتطبيق النتائج على حالات استخدام محددة.

أدوات تحليل الأداء والتصنيف

وتكمل أدوات تحديد الأرقام المرجعية بتوفير معلومات تفصيلية عن الوقت الذي تنفق فيه البرامج وتستهلك فيه الموارد، وتُحدد ملامح وحدة تحليل البرامج البقع الساخنة في الرموز، وتبين الوظائف أو الخطوط التي تستهلك أكثر وقت التنفيذ، وتتتبع نماذج التخصيص الذاكري، وتُحدِّد التسربات، وتحلل استخدام الذاكرة على مر الزمن، وتساعد هذه الأدوات على فهم مدى سرعة تطبيق المدونة، ولكن لماذا تؤدي هذه الطريقة.

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

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

كفاءة الطاقة والاعتبارات البيئية

ومع تزايد البنية التحتية الحاسوبية وتزايد الاهتمامات البيئية، ظهرت كفاءة الطاقة كمقياس هام للأداء، حيث أن استهلاك الطاقة من مجموعة نماذج الاستهلاك من المواد الكيميائية أثناء المعيار المرجعي: تعادل القوة الشرائية (الأساس) + تعادل القوة الشرائية (أساسية مثل اليورانيوم المستنفد) + مشروع تجديد موارد الطاقة (DAM) وهذا النهج الشامل لقياس الطاقة يستوعب الاستهلاك الكامل للطاقة من المهام الحاسوبية.

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

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

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

الاتجاهات المستقبلية في تخصيص اللغات في البرمجة

ولا يزال مجال برمجة المعايير المرجعية للغات تطورا مع ظهور لغات جديدة، وتغير هيكل المعدات، وتغير الاحتياجات من التطبيقات، كما أن الاتجاهات الحديثة في المعدات مثل الحواسيب المتجانسة، والمعجلات المتخصصة، والتسلسل الهرمي للذاكرة المتزايد التعقيد، تخلق تحديات جديدة لوضع المعايير المرجعية، إذ يجب أن تتكيف اللغات والزمن مع هذه التغييرات، ويجب أن تتطور المعايير لقياس الأداء في الهياكل الجديدة للمعدات.

وقد غيرت الحوسبة والتحويل الحاويات كيفية نشر الطلبات وتشغيلها، مما يجعل من المهم وضع معايير مرجعية في البيئات الشبيهة بالسحاب بدلا من مجرد المعادن الخالصة، ويدخل الحساب غير المصفوف اعتبارات أداء جديدة حول فترات البدء الباردة وتخصيص الموارد، وتتطلب نماذج النشر هذه نُهجا مرجعية جديدة تُحسب لخصائصها الفريدة.

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

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

موجز مقاييس الأداء الرئيسية

فهم وقياس مقاييس الأداء الصحيحة أمر أساسي لوضع معايير فعالة للغة البرمجة، وهنا استعراض شامل لأهم القياسات لتتبع:

  • Execution Time:] The total elapsed time from program start to completion, representing the most fundamental performance metric that directly impacts user experience
  • Meemory Consumption:] The amount of RAM used by a program during execution, including both baseline requirements and top usage, which affects both performance and operational costs
  • Throughput:] عدد العمليات أو المعاملات أو الطلبات المجهزة لكل وحدة من وحدات الوقت، وهي مسألة حاسمة لفهم قدرة النظام وإمكانية التصعيد
  • CPU Utilization:] The percentage of processor resources consumed during execution, indicating how efficiently a program uses available computational power
  • Response Time:] The time between initiation a request and receiving a response, particularly important for interactive applications and web services
  • Latency:] The delay between an action and its effect, often measured at various percentiles (50th, 95th, 99th) to understand the distribution of response times
  • Scalability:] How performance changes as workload or resources increase, indicating whether a system can handle growth effectively
  • Energy Consumption:] The amount of electrical power consumed during execution, increasingly important for environmental and cost considerations
  • Startup Time:] The time required to initialize and begin implementing, particularly relevant for short-lived processes and serverless functions
  • أداء العملة: ] How effectively a language or implementation handle multiple concur operations, critical for modern multi-core processors

خاتمة

ويمثل وضع معايير مرجعية للغة البرمجة ممارسة معقدة ولكنها أساسية لاتخاذ قرارات مستنيرة بشأن الخيارات التكنولوجية، واستراتيجيات الاستخدام الأمثل، وتصميم النظم، ومن خلال قياس الأداء بصورة منهجية عبر الأبعاد المتعددة، والوقت المتاح للذاكرة، واستخدام الذاكرة، واستخدام الناتج، واستخدام الباراغواتي، وأجهزة تطوير استهلاك الطاقة، والمنظمات التي يمكن أن تفهم المفاضلات بين مختلف اللغات والتنفيذات.

ويتطلب وضع معايير فعالة الاهتمام بالمنهجية والاتساق البيئي والجمود الإحصائي والتفسير المناسب للنتائج، وفي حين أن المعايير الدقيقة يمكن أن توفر معلومات عن سمات لغوية محددة، فإن المعايير الشاملة التي تقيس تطبيقات العالم الحقيقي أو النظم الفرعية الكبيرة توفر عادة مؤشرات أكثر موثوقية للأداء العملي، ففهم الاختلافات بين اللغات المفسرة والمجمعة والمؤلفة من تكنولوجيا المعلومات والاتصالات يساعد على تحديد التوقعات المناسبة واختيار اللغات المناسبة لحالات الاستخدام المحددة.

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

For more information on programming language performance and benchmarksing methodologies, explore resources like the Computer Language Benchmarks Game, ]Programming Language Benchmark v2, and modern benchmarksing platforms that provide comprehensive languages