यदि मैं जावैक के साथ डीबग जानकारी उत्पन्न करने पर स्विच करता हूं तो कक्षा फाइल 20-25% अधिक होती है। जावा प्रोग्राम चलाने पर यह कोई प्रदर्शन प्रभाव है? यदि हां, किस स्थितियों और कितने पर। मैं वर्गों को लोड करने पर थोड़ा प्रभाव की उम्मीद करता हूं क्योंकि फाइलें बड़ी हैं लेकिन यह न्यूनतम होनी चाहिए।क्या जावाक डीबग के बीच में कोई प्रदर्शन अंतर है?
उत्तर
किसी भी भाषा में, डीबगिंग जानकारी मेटा जानकारी है। इसकी प्रकृति से ऑब्जेक्ट फ़ाइलों का आकार बढ़ जाता है, इस प्रकार लोड समय बढ़ रहा है। डीबगर के बाहर निष्पादन के दौरान, यह जानकारी वास्तव में पूरी तरह से अनदेखा की जाती है। जैसा कि JVM spec में उल्लिखित (हालांकि स्पष्ट रूप से नहीं) डीबग जानकारी बाइटकोड स्ट्रीम के बाहर संग्रहीत की जाती है। इसका मतलब है कि निष्पादन समय पर कक्षा फ़ाइल में कोई अंतर नहीं है। यदि आप हालांकि सुनिश्चित करना चाहते हैं, तो इसे आजमाएं :-)।
Ps। अक्सर डिबगिंग के लिए ऑप्टिमाइज़ेशन बंद करने में मूल्य होता है। पर प्रदर्शन प्रभाव है।
डीबगिंग को बंद करने से बिल्कुल कोई फर्क नहीं पड़ता है। लेकिन एक बार जब आप डिबगिंग बंद कर देते हैं और ऑप्टिमाइज़ेशन चालू करते हैं, तो आपको एक अंतर देखना चाहिए, क्योंकि यह संकलन समय पर कुछ स्थिर अनुकूलन करता है। इस तरह आपका हॉट-स्पॉट अनुकूलित कोड भी रनटाइम पर तेज़ हो जाता है।
लेकिन अब तक, पूर्ण स्टैक-ट्रेस का अर्थ प्राप्त करने के बीच व्यापार या कुछ और उपयोगकर्ता-प्रदर्शन होने के बीच, मैंने हमेशा स्टैक-निशान के लिए मतदान किया। आखिरकार, उपयोगकर्ता तेजी से मशीन प्राप्त करने के लिए प्रत्येक वर्ष 1000 डॉलर खर्च करने के इच्छुक हैं, लेकिन आप अपनी समस्याओं को हल करने के लिए आपको सार्थक त्रुटि संदेश देने के लिए 15 मिनट बिताने के इच्छुक नहीं हैं।
सालों के बाद, मैं उपयोगकर्ता के 1000 डॉलर से 15 मिनट अधिक मूल्यवान होने के इच्छुक हूं। :)
कृपया ध्यान रखें कि जब से JDK1.3 javac किसी भी अनुकूलन झंडे, पर ध्यान नहीं देता "संकलन समय अनुकूलन अनावश्यक है"
एनोटेशन: http://ant.apache.org/manual/Tasks/javac.html –
- 1. क्या डीबग और रिलीज के बीच कोई (प्रदर्शन) अंतर है?
- 2. प्रदर्शन के बीच कोई अंतर और प्रदर्शन ब्लॉक
- 3. कंपाइलर और लिंकर डीबग जानकारी के बीच क्या अंतर है?
- 4. डीबग और संकलन के बीच क्या अंतर है?
- 5. ब्लॉक और कॉलबैक के बीच प्रदर्शन अंतर क्या है?
- 6. HttpModule और Global.aspx के बीच प्रदर्शन अंतर क्या है?
- 7. डीबग और रिलीज के बीच एक्सकोड अंतर
- 8. क्या सी # में ++ i और i ++ के बीच कोई प्रदर्शन अंतर है?
- 9. क्या फ़ंक्शन कॉल और सी # में एक ईवेंट के बीच कोई प्रदर्शन अंतर है?
- 10. क्या खरगोश में पूलिंग कनेक्शन या चैनल के बीच कोई प्रदर्शन अंतर है?
- 11. क्या डब्लूएसजीआई और एफसीजीआई के बीच कोई गति अंतर है?
- 12. क्या कोई इकाई और वस्तु के बीच कोई अंतर है?
- 13. डीबग और रिलीज मोड में निर्मित .NET असेंबली के बीच प्रदर्शन अंतर?
- 14. के बीच क्या अंतर है?
- 15. MATLAB में & &&& के बीच क्या अंतर है?
- 16. क्या "OR" का उपयोग कर SQL "IN" कथन के बीच कोई प्रदर्शन अंतर है?
- 17. क्या एएसपीएनटी एमवीसी और वेब फॉर्म के बीच कोई प्रदर्शन अंतर है?
- 18. क्या इससे अधिक या उससे अधिक के बीच कोई प्रदर्शन अंतर है?
- 19. अतिप्रवाह के बीच क्या अंतर है: छुपा और प्रदर्शन: कोई भी
- 20. क्या मेरे चयन के बीच कोई प्रदर्शन अंतर है। (...)। FirstOrDefault() और myCollection.FirstOrDefault (...)
- 21. ++ iterator और iterator ++ के बीच प्रदर्शन अंतर?
- 22. जावा में, this.method() और विधि() के बीच क्या अंतर है?
- 23. क्या सीजीआरईटी और एनएसआरईक्ट के बीच कोई अंतर है?
- 24. क्या System.Windows.Clipboard और System.Windows.Forms.Clipboard के बीच कोई अंतर है?
- 25. क्या ब्लब्स और जुड़े घटकों के बीच कोई अंतर है?
- 26. क्या MsgBox और MessageBox के बीच कोई अंतर है। दिखाओ?
- 27. क्या (स्थानीय), '।' के बीच कोई अंतर है और लोकहोस्ट?
- 28. क्या SqlConnection.CreateCommand और नया SqlCommand के बीच कोई अंतर है?
- 29. क्या "अतिरिक्त" और "बिटवाईव अतिरिक्त" के बीच कोई अंतर है?
- 30. क्या on_exit() और atexit() फ़ंक्शंस के बीच कोई अंतर है?
है javac अभी भी -O है? आखिरकार मुझे याद है कि यह बराबर था -जी: कोई नहीं। –
सही। लोड समय प्रभावित होता है लेकिन निष्पादन का समय नहीं होता है। – kohlerm
दरअसल सूरज जावा कंपाइलर का अनुकूलन ध्वज नहीं है। अनुकूलन मुख्य रूप से हॉटस्पॉट रनटाइम में होता है। संकलन समय पर अनुकूलित करने से वास्तव में अनुकूलित करने के लिए हॉटस्पॉट क्षमता में बाधा आ सकती है (पूरी जानकारी केवल संकलन समय पर उपलब्ध है)। –