ما هو أفضل ملف تعريف C++ مجاني لنظام التشغيل Windows؟[مغلق]

StackOverflow https://stackoverflow.com/questions/67554

  •  09-06-2019
  •  | 
  •  

سؤال

أنا أبحث عن ملف التعريف من أجل العثور على عنق الزجاجة في كود C++ الخاص بي.أرغب في العثور على أداة تحليل بيانات مجانية وغير تدخلية وجيدة.أنا مطور ألعاب، وأستخدم PIX ​​لـ Xbox 360 ووجدته جيدًا جدًا، ولكنه ليس مجانيًا.أنا أعرف إنتل فتون, ، ولكنها ليست مجانية أيضًا.

هل كانت مفيدة؟

المحلول

كود XL لقد حل الآن محل نهاية السطر محلل كود AMD وكلاهما مجاني، ولكن ليس متقدمًا مثل VTune.هناك ايضا نعسان, ، وهو أمر بسيط للغاية، ولكنه يؤدي المهمة في كثير من الحالات.

نصائح أخرى

كثير النوم هو ملف تعريف وحدة المعالجة المركزية C/C++ لأنظمة Windows (مجاني).
CppCheck هو ملف تعريف ثابت لوحدة المعالجة المركزية C/C++ لأنظمة Windows (مجاني).

بروفي رائع جدًا: http://pauldoo.com/proffy/

تنصل:انا كتبت هذا.

يوجد أداة تعريف (دقيقة للوظيفة) لـ MS VC 7.1 والإصدارات الأحدث تسمى MicroProfiler. يمكنك الحصول عليه هنا (x64) أو هنا (x86).هو - هي لا يتطلب أي تعديلات أو إضافات إلى الكود الخاص بك ويكون قادرًا على عرض إحصائيات الوظيفة مع المتصلين والمتصلين في الوقت الحالى دون الحاجة إلى إغلاق التطبيق/إيقاف عملية التوصيف.

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

تكون هذه الأداة مفيدة عندما لا يكون التقريب الإحصائي من أدوات تحليل العينات مثل Very Sleepy كافيًا.

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

void f()
{
    srand(time(0));

    vector<double> v(300000);

    generate_n(v.begin(), v.size(), &random);
    sort(v.begin(), v.end());
    sort(v.rbegin(), v.rend());
    sort(v.begin(), v.end());
    sort(v.rbegin(), v.rend());
}

مايكروسوفت لديها مجموعة أدوات أداء Windows.

فهو يتطلب نظام التشغيل Windows Vista، ويندوز سيرفر 2008, أو Windows 7.

اضافة جديدة هي لامع.

​​​​​

أنصح بشدة مجموعة أدوات أداء Windows (WPT) أو XPERF

تقوم أداة سطر الأوامر xperf بتسجيل سجلات Event Tracing for Windows (ETW) التي يمكن تحليلها باستخدام أداة GUI xperfview.

استخدام حجة سطر الأوامر Stacktrace لقد أثبتت أنها أداة لا تقدر بثمن بالنسبة لشركتي حيث إنها تقوم بتوصيف الاختناقات وإصلاحها.أحد الأشياء الأكثر إلحاحًا هو أنه يمكن تثبيت WPT في أي بيئة حتى في الأماكن الموقرة ويندوز إكس بي.

على ويندوز 8 محلل أداء ويندوز يأخذ xperf إلى مستوى أعلى.

الأرقام والإحصائيات الثابتة المتوفرة في سجلات ETW لا مثيل لها من حيث التفاصيل باستثناء ملف تعريف الاستوديو المرئي (2010/2012) وهو أيضًا رائع ولكنه ليس مجانيًا AFAIK.

إذا لم تستخدم xperf مطلقًا... فأنت لا تعرف ما الذي تفتقده

أستخدم AQTime، وهو أحد أفضل أدوات تحليل البيانات التي استخدمتها على الإطلاق.إنه ليس مجانيًا ولكن يمكنك الحصول على نسخة تجريبية مدتها 30 يومًا، لذا إذا كنت تخطط لتحسين وتوصيف مشروع واحد فقط وكانت 30 يومًا كافية بالنسبة لك، فإنني أوصي باستخدام هذا التطبيق.(http://www.automatedqa.com/downloads/aqtime/index.asp)

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

http://ravenspoint.wordpress.com/2010/06/16/timing/

يتطلب مكتبة Boost.

إستعملت لوك ستاكوكر وقد قام بالمهمة الخاصة بمشروع Visual Studio الخاص بي.

المشاريع الأخرى المثيرة للاهتمام هي:

لقد استخدمت "TrueTime - جزء من مجموعة DevPartner الخاصة بشركة Compuware لسنوات.هناك [نسخة مجانية] (يمكنك تجربة Compuware DevPartner Performance Analysis Community Edition).

أستخدم VSPerfMon وهو ملف تعريف StandAlone Visual Studio.لقد كتبت أداة واجهة المستخدم الرسومية لمساعدتي في تشغيلها وإلقاء نظرة على النتائج.

http://code.google.com/p/vsptree/

يمكنك استخدام EmbeddedProfiler، فهو مجاني لكل من Linux وWindwos.

يعد ملف التعريف متطفلاً (من حيث الوظيفة) ولكنه لا يتطلب أي تعديلات على التعليمات البرمجية.ما عليك سوى إضافة علامة مترجم محددة (-finstrument-functios لـ gcc/MinGW أو /GH لـ MSVC) وربط مكتبة ملف التعريف.يمكن أن يوفر لك شجرة مكالمات كاملة أو مجرد قائمة وظائف.لديها واجهة المستخدم الرسومية الخاصة بالمحلل.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top