سؤال

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

الفكرة الأولى التي جاءت للحفاظ على عالمي متغير "doWeHaveToTrace" ، إلى التحقق من ذلك في كل مرة potentialy tracable ما يسمى طريقة, و أثر ذلك إذا كان هذا المتغير هو الصحيح.و في هذه الحالة لا بد أن استخدام المسجل أو TraceListener لكتابة تتبع بقية المقال في ملف.

ولكن أعتقد أن هذه الآلية هي ثقيلة جدا ، لأنه متغير لابد من التحقق في كل طريقة ، و مسجل المكالمات يجب أن تكون مشفرة.

فكرت أيضا في جانب البرمجة (إدراج تتبع التعليمات البرمجية في قبل() بعد() طرق), ولكن لا أعتقد أن الجانب البرمجة يمكن أن يكون مسموح به داخل هذا المشروع.

لذلك أنا أتساءل هل هناك آليات جيدة التي يمكن أن تقدم هذا الأداء تتبع ?هل من الممكن أن تتبع كل طريقة ؟ وأن يقرر إيقاف أو استئناف تتبع في وقت التشغيل ?

أرجو أن أكون واضحا ، شكرا

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

المحلول

ولست متأكدا بالضبط ما تحاول اقتفاء أثر، ولكن إذا كنت في محاولة لتتبع الوقت بين أساليب تشغيل طويلة، وربما يكون من الافضل ربط إلى في . NET التنميط API . هنا هو على الاستخدام.

ومن شأن التعريف تجاري يكون آخر خيار أكثر بساطة.

نصائح أخرى

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

أو

يمكنك استخدام الخارجية التنميط التطبيق لا أداء الذاكرة التنميط.انظر هنا (من StackOverflow.com): ما هي بعض جيدة .صافي المحللون?

الاستمتاع ،

روبرت C.Cartaino

هل كنت مجرد تشغيله على جهاز سطح المكتب، تحت IDE، وتفعل الأشياء المعتادة، مثل قطع مسافة السباق توزيعه و / أو <وأ href = "https://stackoverflow.com/questions/375913/what-can- ط الاستخدام إلى المستوى ج-رمز في لينكس / 378024 # 378024 "> أخذ العينات؟

وكنت ملزمة للعثور على الأشياء التي تأخذ وقتا ويمكن الإسراع.

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