Acovea

البرمجيات قطة:
Acovea
تفاصيل البرنامج:
الإصدار: 1.0.1
تاريخ إيداع: 3 Jun 15
المطور: Scott Robert Ladd
ترخيص: حرر
شعبية: 76

Rating: 3.0/5 (Total Votes: 2)

Acovea تنفذ الخوارزمية الجينية من أجل العثور على "أفضل" خيارات لتجميع البرامج مع دول مجلس التعاون الخليجي C و C ++ المجمعين.
ACOVEA (تحليل خيارات مترجم عبر التطوري خوارزمية) تنفذ الخوارزمية الجينية للعثور على "أفضل" خيارات لتجميع البرامج مع حكومة الوحدة الوطنية مترجم مجموعة (GCC) C و C ++ المجمعين.
"أفضل"، في هذا السياق، هو الذي يعرف بأنه تلك الخيارات التي تنتج البرنامج أسرع القابل للتنفيذ من رمز مصدر معين. Acovea هو ++ C الإطار الذي يمكن أن تمتد إلى اختبار لغات البرمجة الأخرى والمجمعين غير دول مجلس التعاون الخليجي.
أتصور Acovea كأداة الأمثل، مماثلة في الغرض إلى التنميط. ويحدد التقليدي التنميط على مستوى وظيفة الخوارزميات الأكثر تأثيرا في أداء البرنامج. ثم يتم تطبيق Acovea لتلك الخوارزميات للعثور على الأعلام المترجم والخيارات التي تولد أسرع التعليمات البرمجية.
Acovea مفيد أيضا لاختبار مجموعات من الأعلام للتفاعل المتشائمة، واختبار موثوقية مترجم.
البرامج الحديثة من الصعب أن نفهم وتحقق بالوسائل التقليدية. الملايين من الأسطر من التعليمات البرمجية تنتج التطبيقات التي تحتوي على التفاعلات المعقدة في تحد وصف بسيط أو التحقيق القوة الغاشمة.
A الموجهة، نهج حتمية لاختبار يعتمد على اختبار الإنسان لتصور كل تركيبة ممكنة من الإجراءات - وهو اقتراح غير واقعي بالنظر تعقيد البرمجيات. ومع ذلك، وعلى الرغم من هذا التعقيد، ونحن بحاجة إلى إجابات على أسئلة هامة حول الحديث، البرمجيات على نطاق واسع.
أي نوع من الأسئلة المهمة؟ النظر في مجموعة مترجم GNU. أنا أكتب المقالات التي رمز جيل القياسي، وهي مهمة محفوفة بالصعوبات نظرا لخيارات لا تعد ولا تحصى التي يقدمها القائمون مختلفة. لمعايير بلدي أن يكون له أي معنى، ولست بحاجة لمعرفة أي مزيج من الخيارات تنتج أسرع رمز لتطبيق معين.
العثور على "أفضل" مجموعة من الخيارات يبدو وكأنه مهمة بسيطة، نظرا لحجم الوثائق دول مجلس التعاون الخليجي والحكمة التقليدية للمجتمع المطورين دول مجلس التعاون الخليجي. آه، لو كان فقط من السهل جدا! وثائق دول مجلس التعاون الخليجي، في حين واسعة النطاق، هو أيضا غير دقيق بصراحة.
وأنا أقدر هذا النمط من الوثائق؛ على عكس العديد من البائعين التجارية، الذين يدلون بتصريحات المطلقة حول "نوعية" من منتجاتها، والموثقين دول مجلس التعاون الخليجي يعترف الشكوك في مدى عدة خيارات تغيير رمز جيل. في الواقع، رمز جيل يعتمد كليا على نوع التطبيق يتم تجميعها والنظام الأساسي الهدف. وهو الخيار الذي ينتج قانون قابل للتنفيذ السريع لرمز مصدر واحد قد يكون ضارا لأداء برنامج آخر.
"الحكمة التقليدية" تصل في صندوق البريد الخاص بي كلما نشر مادة جديدة. بدءا من مهذبا للإصرارا لفظا، هذه الرسائل الإلكترونية تحتوي على اقتراحات متناقضة لإنتاج كود سريع.
في الغالبية العظمى من الحالات، هذه التأكيدات القصصية تفتقر إلى أي دليل رسمي من صحتها، و، في أكثر الأحيان، واقترح "تحسين" غير فعالة أو ضارة. أصبح من الواضح بشكل متزايد أن لا أحد --myself المدرجة - يعرف بالضبط كيف تعمل كل هذه الخيارات مجلس التعاون الخليجي معا في توليد كود البرنامج.
أسعى الكأس المقدسة من التحسين - ولكن بالضبط ما هو الأمثل؟ فهم المشكلة هو الخطوة الأولى في إيجاد حل.
يحاول الأمثل لإنتاج "أفضل" رمز الجهاز من شفرة المصدر. "أفضل" يعني أشياء مختلفة لتطبيقات مختلفة؛ ومعاول قاعدة بيانات قطع من المعلومات، في حين تشعر بالقلق تطبيق العلمي مع نتائج سريعة ودقيقة. الهاجس الأول لنظام مضمن قد يكون حجم التعليمات البرمجية.
وأنه من الممكن تماما أن رمز صغير سريع، أو رمز سريع دقيقة. الأمثل هو أبعد ما يكون عن كونه علما دقيقا، نظرا لتنوع تكوينات الأجهزة والبرمجيات.
قد تكون خوارزمية الأمثل بسيطة مثل إزالة حلقة ثابتة، أو معقدة مثل فحص برنامج كامل للقضاء على تعبيرات شبه العالمية المشتركة. العديد من التحسينات تغيير ما كتب مبرمج إلى شكل أكثر كفاءة، وتنتج نفس النتيجة حين تعديل البيانات الأساسية للكفاءة. الآخر "أمثل" رمز المنتجات التي تستخدم خصائص محددة من الأجهزة الأساسية، مثل مجموعات التعليمات الخاصة.
أبنية الذاكرة، وخطوط الأنابيب، مخابئ داخل وخارج رقاقة - تؤثر على جميع الأداء التعليمات البرمجية في الطرق التي ليست واضحة للمبرمجين باستخدام لغة عالية المستوى. أمثلية التي قد تبدو لإنتاج كود أسرع قد، في الواقع، وخلق رمز كبير أن يؤدي إلى مزيد من يخطئ ذاكرة التخزين المؤقت، وبالتالي أداء المهينة.
حتى أفضل ضبطها جهة كود C يحتوي على مناطق التفسير؛ لا يوجد المطلقة، والمراسلات واحد الى واحد بين البيانات C وتعليمات الجهاز. تقريبا أي تسلسل من التعليمات البرمجية المصدر يمكن تجميعها في مختلف - ولكن ظيفيا - تعليمات الجهاز تيارات ذات أحجام مختلفة وخصائص الأداء.
يؤدي تضمين وظائف مثال كلاسيكي لهذه الظواهر: استبدال استدعاء دالة مع رمز الدالة نفسها قد تنتج برنامجا أسرع، ولكن يمكن أيضا زيادة حجم البرنامج. زيادة حجم البرنامج، في المقابل ربما، ومنع خوارزمية من المناسب داخل الذاكرة المؤقتة عالية السرعة، وبالتالي تباطؤ برنامج بسبب إخفاقات التخزين المؤقت.
لاحظ استخدامي لكلمة ابن عرس "يجوز" - رمز مصدر ظائف صغيرة تسمح في بعض الأحيان خوارزميات التحسين الأخرى فرصة لزيادة تحسين رمز لالظروف المحلية، وتنتج أسرع ورمز أصغر.
الأمثل ليست بسيطة أو واضحة، ومجموعات من خوارزميات يمكن أن يؤدي إلى نتائج غير متوقعة. الذي يعيدني إلى السؤال: لأي تطبيق معين، ما هي الخيارات الأمثل الأكثر فعالية؟
ما هو الجديد في هذا الإصدار:
· تغييرات طفيفة في رخصة غير حرة.
· تمت إضافة دعم لأحدث الإصدارات من libcoyotl وlibevocosm.

برامج مماثلة

inFusion
inFusion

20 Feb 15

Fixtures
Fixtures

14 Apr 15

proboscis
proboscis

20 Feb 15

AceUnit
AceUnit

2 Jun 15

البرامج الأخرى من المطور Scott Robert Ladd

Acovea/GTK
Acovea/GTK

3 Jun 15

تعليقات ل Acovea

لم يتم العثور على التعليقات
إضافة تعليق
بدوره على الصور!