हमारे पायथन एप्लिकेशन (एक अच्छी वेब सेवा) में पूर्ण परीक्षण (यूनिट परीक्षण, एकीकरण परीक्षण इत्यादि) हैं जो सभी डेवलपर्स को कोड करने से पहले चलाना चाहिए।
मैं यह सुनिश्चित करने के लिए सूट में कुछ प्रदर्शन परीक्षण जोड़ना चाहता हूं कि कोई भी कोड जोड़ता है जो हमें बहुत धीमा कर देता है (कुछ धीमी गति से मनमाने ढंग से परिभाषा के लिए)।
जाहिर है, मैं परीक्षण में कुछ कार्यक्षमता एकत्र कर सकता हूं, समय और कुछ पूर्वनिर्धारित सीमा से तुलना कर सकता हूं।पाइथन (सभी डेवलपर्स के लिए) में स्वचालित रूप से प्रदर्शन का परीक्षण करने का सही तरीका?
मुश्किल आवश्यकताओं:
- मैं हर डेवलपर उसकी मशीन पर कोड का परीक्षण करने में सक्षम होना चाहते (CPU शक्ति पर निर्भर करता, ओएस (लिनक्स और कुछ Windows) और बाहरी विन्यास - अजगर संस्करण, पुस्तकालयों और मॉड्यूल एक ही हैं)। एक परीक्षण सर्वर, जबकि आम तौर पर एक अच्छा विचार, यह हल नहीं करता है।
- मैं चाहता हूं कि परीक्षण डिटेरमिनिस्ट - परीक्षण चलाने वाली मशीन पर क्या हो रहा है, इस पर ध्यान दिए बिना, मुझे परीक्षण के कई रन एक ही परिणाम लौटने के लिए चाहते हैं।
मेरे प्रारंभिक विचार:
- उपयोग timeit और इस प्रणाली के एक बेंचमार्क हर बार जब मैं परीक्षण चलाने है। प्रदर्शन परीक्षा परिणामों की तुलना बेंचमार्क से करें।
- "बाहरी शोर" को अनदेखा करने के लिए दुभाषिया के साधन के लिए cProfile का उपयोग करें। मुझे यकीन नहीं है कि मुझे पता है कि
pstats
संरचना को अभी तक कैसे पढ़ा जाए, लेकिन मुझे यकीन है कि यह करने योग्य है।
अन्य विचार?
धन्यवाद!
ताल।
मेरी इच्छा है कि वे इसे * कोडडपेड * कहें। –