2011-04-07 10 views

उत्तर

9

एक प्रदर्शन पर विचार है कि एक संरचनात्मक प्रकार में तरीकों प्रतिबिंब के माध्यम से कहा जाता है, जो एक नियमित रूप से विधि कॉल से JVM पर एक बहुत धीमी है। विस्तृत जानकारी के लिए this answer and comments देखें है।

9

मैंने पाया कि जब मैं संरचनात्मक प्रकार की जरूरत है, यह लगभग हमेशा है, क्योंकि एक पुस्तकालय मैं उपयोग करना चाहता था ठीक से (जैसे StringBuilder/StringBuffer तरह के मामलों में सुपर-क्लास लापता) नहीं बनाया गया है।

तो यदि आप संरचनात्मक प्रकार का उपयोग करना चाहते हैं अन्य कारणों से, यह एक डिजाइन समस्या हो सकती है - जो कॉन्फ़िगरेशन या प्रदर्शन विचारों से अधिक गंभीर होगी। स्कैला की प्रकार प्रणाली शक्तिशाली है, और संरचनात्मक प्रकारों का उपयोग करना "सामान्य" माध्यमों के साथ इसे सही करने के लिए "छोड़ देना" जैसा थोड़ा सा है। तो यदि आपके पास कुछ कोड है जो संरचनात्मक प्रकारों की "आवश्यकता" प्रतीत होता है, तो विश्लेषण करने का प्रयास करें कि यह ऐसा क्यों है, और यदि समुदाय में सुधार किया जा सकता है तो इसे समुदाय से पूछें (https://codereview.stackexchange.com/ इसके लिए एक अच्छी जगह की तरह लगता है) यदि आप अटक गए हैं।

बीटीडब्ल्यू, हर कोई एक ऐसी सुविधा का उपयोग करने के लिए जाता है जिसे वह "grokked", उदा। शुरुआती पैटर्न मैच पागल की तरह एक बार जब वे अवधारणा प्राप्त करते हैं, भले ही बेहतर तरीके हों (उदाहरण के लिए मानचित्र जैसे फ़ंक्शन, फ्लैटमैप, foreach ...) के मामले में।

+1

यदि आप एक सामान्य सुपरक्लास या इंटरफ़ेस को याद करते हैं, तो क्या इसे अंतर्निहित रूपांतरण (मेरी लाइब्रेरी को भंग कर) के माध्यम से हल नहीं किया जा सकता है? – ziggystar

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

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