سؤال

لنفترض لدي بيثون السيناريو يسمى my_parallel_script.py أنه ينطوي على استخدام multiprocessing إلى يوازي العديد من الأشياء وأنا تشغيل باستخدام الأمر التالي:

python -m cProfile my_parallel_script.py

هذا يولد التنميط إخراج عملية الأصل فقط.المكالمات التي تتم في العمليات الطفل لا تسجل على الإطلاق.هل من الممكن تعريف الطفل العمليات ؟

إذا الخيار الوحيد هو تعديل المصدر ما يمكن أن يكون أبسط طريقة للقيام بذلك ؟

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

المحلول

cProfile يعمل فقط في عملية واحدة, لذلك سوف لا تحصل تلقائيا عملية طفل لمحة.

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

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