मैंने प्रोफाइलिंग के बारे में बहुत कुछ सुना है। यह सब किस बारे में है? जहां तक मैं समझता हूं कि यह किसी प्रकार का प्रदर्शन माप है लेकिन क्या कोई इसे अधिक स्पष्ट रूप से विस्तृत कर सकता है ताकि एक नौसिखिया इस विचार को समझ सके। इसके अलावा, मैं अपने जावा प्रोग्राम के लिए एक्लिप्स आईडीई का उपयोग करता हूं। क्या मैं ग्रहण आईडीई का उपयोग कर अपने प्रोग्राम को प्रोफाइल कर सकता हूं? प्रोफाइलिंग के दौरान विचार किए जाने वाले कारक क्या हैं (मेरा मतलब है सर्वोत्तम अभ्यास)?सभी के बारे में प्रोफाइलिंग क्या है और मैं अपने जावा प्रोग्राम को कैसे प्रोफाइल कर सकता हूं?
उत्तर
प्रोफाइलिंग मूल रूप से आपको दिखाती है कि कितनी बार कोड की एक पंक्ति को निष्पादित किया जाता है और इसमें कितना समय व्यतीत होता है (अन्य लाइनों की तुलना में)। यह उस स्थान को इंगित करना आसान बनाता है जहां आपका कोड अधिकतर समय बिताता है।
यह उन स्थानों को भी ढूंढना संभव बनाता है जहां आपका कोड कुछ भी किए बिना अधिक समय बिताता है: यह cache miss का सामान्य संकेत है और यह वह जगह है जहां आपको सक्रिय होना चाहिए।
आमतौर पर, कार्यक्रम एक ही स्थान पर बहुत अधिक समय (कहते हैं, 9 0%) खर्च करते हैं। दुर्भाग्यवश, प्रोफाइलिंग के बिना इस जगह को ढूंढना संभव नहीं है। Guesswork अक्सर घबरा जाता है। इसलिए यदि आप गलत जगह पर ऑप्टिमाइज़ करते हैं, तो इससे कोई मदद नहीं मिलेगी: यदि उस पंक्ति में बिताए गए कुल समय केवल 10% है, तो आपका कोड केवल 10% तेज होगा (सर्वोत्तम पर!)। यदि, हालांकि, आप उस कॉल को हटाने में सफल होते हैं जो 90% समय लेता है, तो आपके प्रोग्राम को दस गुना तेज मिलेगा।
यह संक्षेप में प्रोफाइलिंग है।
ग्रहण प्रोफाइलिंग प्रोफाइलिंग कैबिबिल प्रदान करता है और मुझे बताया गया है कि वे बहुत अच्छे हैं लेकिन जब से मैं उन्हें नहीं जानता, तो किसी और को इसका जवाब दें।
एक्लिप्स के साथ जावा प्रोफाइलिंग पर मैंने जो छोटे से शोध किए हैं, उससे आप JProfiler का उपयोग कर सकते हैं। मुझे इसे स्थापित करने और वास्तव में चारों ओर एक त्वरित नाक होने से वास्तव में बहुत कुछ नहीं मिला।
YourKit जावा के लिए एक उत्कृष्ट प्रोफाइलर है और ग्रहण के साथ अच्छी तरह से एकीकृत होगा। यह निश्चित रूप से पैसे के लायक है और आमतौर पर सबसे अच्छा जावा प्रोफाइलर माना जाता है।
कोनराड सही है, लेकिन प्रोफाइलिंग आपके प्रोग्राम के अन्य पहलुओं को भी कवर करती है, जैसे मेमोरी खपत।
- 1. जावा प्रोफाइलिंग - मैं अपने आवेदन के विधि विश्लेषण द्वारा विधि कैसे प्राप्त कर सकता हूं?
- 2. मैं अपने आईफोन ऐप को प्रोफाइल करने के लिए शार्क का उपयोग कैसे कर सकता हूं?
- 3. मैं पाइथन में एक मल्टीथ्रेड प्रोग्राम कैसे प्रोफाइल कर सकता हूं?
- 4. मैं पाइथन में मल्टीथ्रेड प्रोग्राम की मेमोरी कैसे प्रोफाइल कर सकता हूं?
- 5. विजुअलVM में प्रोफाइल संपूर्ण जावा प्रोग्राम निष्पादन
- 6. मैं फ़ाइल I/O कैसे प्रोफाइल कर सकता हूं?
- 7. गोपनीयता यूआरएल के बारे में मैं क्या कर सकता हूं?
- 8. मैं अपने पर्ल सीजीआई प्रोग्राम को कैसे बना सकता हूं?
- 9. क्या मैं एक मैवेन प्रोफाइल को सक्रिय कर सकता हूं?
- 10. मैं अपने जावा प्रोग्राम के उत्परिवर्तन परीक्षण कैसे कर सकता हूं?
- 11. मैं अपने एंटरप्राइज़ प्रोविजनिंग प्रोफाइल
- 12. मैं पाइथन और पीईक्यूटी के साथ अपने जीयूआई प्रोग्राम का परीक्षण कैसे कर सकता हूं?
- 13. क्या मैं अपने पर्यावरण चर पर भरोसा कर सकता हूं?
- 14. मैं जावा में अपने ढेर में क्या देख सकता हूं?
- 15. मैं अपने डेटाबेस में सभी टेबल कैसे छोड़ सकता हूं?
- 16. मैं एक एसक्यूएलकेमी संचालित एप्लिकेशन कैसे प्रोफाइल कर सकता हूं?
- 17. मेरे प्रोग्राम क्रैश होने के बाद मैं सभी धागे को कैसे निलंबित कर सकता हूं?
- 18. मैं फॉर्म प्रोग्राम के तर्क कैसे प्राप्त कर सकता हूं?
- 19. मैं अपने जावा एप्लिकेशन में प्रोग्रामिंग के सभी जुनीट परीक्षण कैसे चला सकता हूं?
- 20. मैं अपने ऐप में सभी स्क्रॉल प्रभाव को कैसे अक्षम कर सकता हूं?
- 21. मैं अपने प्रोग्राम निष्पादन के दौरान स्क्रीन सेवर को कैसे रोकूं और सो सकता हूं?
- 22. मैं अपने एक्सएमएल दस्तावेज के साथ क्या कर सकता हूं?
- 23. क्या मैं अपने सी # ऐप में सभी धागे के स्टैक निशान प्राप्त कर सकता हूं?
- 24. पुनर्निर्माण के बिना लिनक्स मंच पर प्रोग्राम कैसे प्रोफाइल करें?
- 25. प्रोफाइल हास्केल सभी निर्भरताओं के लिए प्रोफाइलिंग लाइब्रेरी स्थापित करने के बिना
- 26. नोडज प्रोफाइलिंग; 'अज्ञात' क्या हो सकता है
- 27. मैं अपने सभी सत्रों को टॉमकैट में कैसे समाप्त कर सकता हूं?
- 28. मैं अपने प्रोग्राम के लिए "सक्षम फ़ंक्शंस" लाइसेंस फ़ाइल कैसे सुरक्षित कर सकता हूं?
- 29. मैं रेडिस में सभी सेट कैसे प्राप्त कर सकता हूं?
- 30. मैं अपने प्रोग्राम डिज़ाइन और समस्या निवारण तकनीक को कैसे सुधार सकता हूं?