मेरे पास वर्तमान में एक कमांड लाइन उपकरण है जो गुइस और उसके एक्सटेंशन का काफी उपयोग करता है।सामान्य उपहार प्रदर्शन दिशानिर्देश
उपकरण की कार्यक्षमता को पूरा करने के बाद, मैंने यह निर्धारित किया है कि प्रदर्शन उप-मानक है, और सरल hprof का उपयोग करके प्रोफाइलिंग शुरू कर दिया है।
यह इंगित करता है कि केवल इंजेक्टर बनाना एक महत्वपूर्ण प्रदर्शन समस्या है। मैं आमतौर पर मॉड्यूल में किसी भी वास्तविक काम से बचने और प्रदाताओं के लिए रिजर्व गणना गहन काम से बचने के लिए ...
इसके साथ, गुइस के लिए कुछ सामान्य प्रदर्शन दिशानिर्देश क्या हैं? क्या मुझे @AssistedInject और FactoryModuleBilders का उपयोग करने से बचना चाहिए? यदि संभव हो तो @ सिंंगलेट से बचें? सुनिश्चित करें कि सभी बाइंडिंग स्पष्ट हैं और जेआईटी बाइंडिंग से बचें?
मैंने पूरी तरह से खोज की है, लेकिन वास्तव में यह कहने वाले लोगों के अलावा मूल गिस प्रदर्शन को अधिक संबोधित नहीं कर सकता है।
खैर, मॉड्यूल का मूल्यांकन केवल एक बार किया जाता है, लेकिन प्रदाता कई बार मूल्यांकन करते हैं। इसलिए यदि वांछित प्रभाव प्राप्त करने के लिए _any_ तरीका है तो मैं इसे बिल्कुल अन्य तरीके से करूँगा। सिंगलटन भी: उनसे क्यों बचें? उन्हें गले लगाओ। एक बार किया गया काम दो बार किए गए काम से धीमा नहीं हो सकता है। –
यह आवश्यक रूप से प्रश्न का उत्तर नहीं देता है ... प्रोफाइलिंग से मैं देखता हूं कि केवल CreateInjector कॉल मेरे प्रसंस्करण समय का आधा है। – thebamaman
क्या आपकी प्रोफाइलिंग में क्लासलोडिंग, जीसी और जेआईटी के लिए समय शामिल है या बहिष्कृत किया गया है? इसके अलावा: क्या आपने प्रश्न [http://stackoverflow.com/questions/4748405/how-to-improve-guice-performance-at-startup] जांच लिया था? –