2011-09-05 12 views
13

यदि मैं सही ढंग से समझता हूं तो ग्रोवी गतिशील रूप से टाइप किया गया है, लेकिन चूंकि यह जावा का लगभग एक सुपरसेट है, इसलिए स्थिर प्रकार की जानकारी वैकल्पिक रूप से प्रदान की जा सकती है। यह उपयोगी हो सकता है अगर कुछ लिखना जहां कई हिस्सों का उपयोग करने के घर्षण से परहेज करते हुए केवल कुछ हिस्सों में महत्वपूर्ण प्रदर्शन होता है। टाइप एनोटेशन केवल प्रदर्शन महत्वपूर्ण भागों के लिए प्रदान किया जा सकता है।जावा-स्टाइल ग्रोवी जावा के जितना तेज़ है?

जावा के बजाय ग्रोवी का उपयोग करने के लिए प्रदर्शन दंड क्या है जहां जावा-जैसे सबसेट का उपयोग किया जाता है और स्थिर प्रकार की टिप्पणियां प्रदान की जाती हैं?

उत्तर

12

ग्रोवी में घोषित प्रकार जादूगर रूप से चीजों को गति नहीं देते हैं। यह अभी भी groovy कोड है और कुछ गतिशील रूप से बदल गया है में एमओपी के माध्यम से जाने की जरूरत है। आपको स्थिर लिंकिंग नहीं मिलती है क्योंकि आपने टाइप की जानकारी दी है।

प्रदर्शन संवेदनशील चीजों के लिए जो ग्रोवी कोड बस इतना तेज़ नहीं है, आपको असली जावा कोड लिखना होगा।

यह सवाल बहुत एक previous one जहाँ मैं gave an answer दिखा कैसे कुछ टाइपिंग चीज़ों को गति नहीं करता है उत्पन्न बाइट कोड की खुदाई के समान है।

+0

मुझे विश्वास है कि यह उत्तर अब पुराना है कि '@ CompileStatic' मुख्य ग्रोवी भाषा में जोड़ा गया है। – ArtB

8

आप ग्रोवी ++ का भी उपयोग कर सकते हैं। Groovypp.jar को क्लासपाथ में छोड़ दें, और @Typed के साथ एक पैकेज, कक्षा, या विधि को एनोटेट करें। एनओपी कोड एमओपी पास करता है, इसलिए जावा कोड के रूप में लगभग तेज़ है।

और यदि आप किसी प्रकार की घोषणा नहीं करते हैं, तो @ टाइप किए गए कोड संकलन समय पर संभव होने पर प्रकार का अनुमान लगाएंगे।

संबंधित मुद्दे