Python cprofile: كيفية تصفية مكالمات محددة من بيانات التنميط؟

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

سؤال

لقد بدأت في توصيف السيناريو الذي يحتوي على الكثير sleep(n) صياغات. الكل في الكل ، أحصل على أكثر من 99 ٪ من وقت التشغيل الذي قضى النوم. ومع ذلك ، فإنه يصادف في بعض الأحيان مشاكل في الأداء خلال الوقت الذي تقوم فيه بعمل حقيقي ، لكن بيانات التوصيف ذات الصلة والمثيرة للاهتمام تصبح من الصعب للغاية تحديد موعد استخدام Kcachegrind.

هل هناك طريقة يمكنني من خلالها قائمة ببعض المكالمات/الوظائف من التعرف؟ بدلاً من ذلك ، كيف يمكنني تصفية هذه المكالمة مع معالجة ملف بيانات التوصيف؟

أنا أستخدم Decorator Perfilestats ( http://pypi.python.org/pypi/profilestats ).

شكرًا

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

المحلول

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

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