سؤال

أود أن أكون قادرًا على رؤية كيف يستخدم كل مؤشر ترابط "باهظ الثمن" في طلبي. أنا معرف مع --separate-thread=yes الخيار الذي يمنحك ملف callgrind للتطبيق بأكمله ثم واحد لكل تراكم.

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

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

المحلول

لا يسمح Valgrind/Callgrind بهذا السلوك. لا kcachegrind لا يفعل ذلك ، لكنني أعتقد أنه سيكون تحسنًا جيدًا. ربما يمكن العثور على بعض الإجابات على قائمة البريد الخاصة بهم.

عمل ولكن حقا مملة يمكن أن تكون الطريقة لاستخدام الخيار --separate-thread=no, وتحديث الكود الخاص بك لاستخدامه في كل موضوع أ مختلف اسم الوظيفة أو اسم الفصل. اعتمادًا على تعقيد الكود الخاص بك ، يمكن أن يكون الجواب (باستخدام 1 computedata () ، 2 computedata () ، ..)

نصائح أخرى

فقط افتح ملامح متعددة في Kcachegrind في نفس الوقت.

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