ما هي أسهل/أفضل طريقة لتطبيق C ++ المكثف للرياضيات للسرعة على Mac OS X؟

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

سؤال

أنا أتحرك تطبيقًا مكثفًا للرياضيات على جهاز Mac OS X. يتم تنفيذه في C ++ ، وأنا لا أستخدم أيدي خاص ، فقط محرر نصوص عادي ، و GCC للتجميع.

حاليًا ، يكون تنفيذي بطيئًا جدًا مع بياناتي. ما هي أسهل/أفضل طريقة لمعرفة الأجزاء التي يجب تحسينها؟

أستخدم Valgrind ، على مستوى أساسي للغاية ، للتحقق من تسرب الذاكرة. ومع ذلك ، لم أستخدمه أبدًا (CallGrind) لحساب التنميط السريع. كيف أفعل ذلك؟ أجد وثائق Callgrind مربكة بعض الشيء/ليست ودية للغاية. هل هناك ما يعادل Kcachegrind لنظام التشغيل Mac؟ على حد علمي ، يعمل MacCachegrind فقط مع إخراج XDEBUG ، ولا يعمل مع إخراج CallGrind 3.6.0.

هل من الأفضل استخدام Valgrind أو GPROF للتوصيف؟ أنا لست على دراية لا.

شكرًا.

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

المحلول

/Developer/Applications/Performance Tools/Shark.app

افتحه ، قم بتشغيل التطبيق الخاص بك ، واضغط على البداية ، واترك تطبيقك يعمل قليلاً ، واضغط على التوقف.

هناك مقدمة أكثر تفصيلا على موقع مطور Apple.

نصائح أخرى

يجب أن تكون قادرًا على تثبيت Kcachegrind من Macports (حزمة KDESDK4) وربما أيضًا فينك (التي لم أستخدمها أبدًا) واستخدامها تمامًا كما تفعل على Linux. فعلت ذلك في الماضي وعملت بشكل جيد.

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