मेरा पायथन कार्यक्रम एक उत्सुक प्रदर्शन व्यवहार है: जितना लंबा चलता है, धीमा हो जाता है। प्रारंभ में, यह प्रति मिनट कार्य इकाइयों में से एक है। एक घंटे के बाद यह प्रति कार्य इकाई में दस मिनट लग रहा है। मेरा संदेह यह है कि यह एक भीड़ कचरा कलेक्टर द्वारा कारण है।कचरा कलेक्टर का उपयोग कितना समय है?
पकड़ यह है कि मेरी स्क्रिप्ट सीप्रोफाइल के लिए बड़े पैमाने पर काम करने के लिए भूख लगी है। (देखें: cProfile taking a lot of memory)
हमने अपनी खुद की प्रदर्शन प्लगइन लिखी है और हम अपने सिस्टम के अधिकांश हिस्सों को देख सकते हैं और उनमें से कोई भी समस्या नहीं प्रतीत होता है। एक चट्टान जो अभी भी उलझा हुआ है जीसी है।
क्या कोई अन्य तरीका है (प्रोफ़ाइल या सीप्रोफाइल के अलावा) यह देखने के लिए कि जीसी में कितना समय जा रहा है?
हां, मुझे इसके बारे में पता है। वे मुझे बता सकते हैं कि जीसी किस तरह से काम कर रही है, लेकिन मेरी तत्काल समस्याएं प्रोसेसर चक्रों के साथ हैं, स्मृति नहीं। अगर यह मुझे * समय * बता सकता है कि जीसी ने उपयोग किया है या यहां तक कि * कितनी बार * यह चलाया गया है, यह सहायक हो सकता है। –
@ मैथ्यू: क्या यह आपकी प्रक्रिया को 'gc.collect()' को कॉल करने में मदद करेगा, और समय लौटने में कितना समय लगेगा? –
@ थॉमस के, जो मुझे बताएगा कि एक संग्रह कितना समय ले रहा था, लेकिन कलेक्टर कितनी बार चल रहा है। मेरे पास अन्य डेटा को देखते हुए, मुझे संदेह है कि जीसी अधिक से अधिक बार चल रहा है (कम और कम प्रभाव) क्योंकि सिस्टम चलता है। –