मान लीजिए मैं शामिल होता है कि multiprocessing
का उपयोग कर कई चीजें parallelize करने my_parallel_script.py
नामक एक अजगर स्क्रिप्ट है और मैं निम्न आदेश के साथ चलाएँ:आप समांतर पाइथन लिपि कैसे प्रोफाइल कर सकते हैं?
python -m cProfile my_parallel_script.py
यह माता पिता प्रक्रिया केवल के लिए उत्पादन की रूपरेखा उत्पन्न करता है। बाल प्रक्रियाओं में किए गए कॉल बिल्कुल दर्ज नहीं किए जाते हैं। क्या बाल प्रक्रियाओं को भी प्रोफाइल करना संभव है?
यदि स्रोत को संशोधित करने का एकमात्र विकल्प है, तो ऐसा करने का सबसे आसान तरीका क्या होगा?
मैंने पहले से ही यह कोशिश की है, और दुर्भाग्य से मैं ** ** प्रोफाइलिंग करते समय सिस्टम बहु-प्रक्रिया चलाने की आवश्यकता है। ऐसा कुछ समय बाद काफी धीमा लगता है, लेकिन केवल जब यह मल्टीप्रोसेसिंग सक्षम के साथ चल रहा है। – Fragsworth
संभावना है कि यह संसाधन विवाद है, और प्रोफाइलिंग इसे खोजने का तरीका नहीं हो सकता है। किसी भी मामले में, आप एक ही समय में सभी बाल प्रक्रियाओं को प्रोफाइल करने का प्रयास कर सकते हैं। आप बच्चे पायथन कोड में प्रोग्रामेटिक रूप से प्रोफ़ाइल का आह्वान कर सकते हैं। –