कई उपयोग मामलों के लिए, गुमनाम प्रकार और tuples और अधिक कुशल हो सकता है अगर के रूप में अपरिवर्तनीय वर्गों की तुलना में सार्वजनिक क्षेत्र structs के रूप में लागू; चाहे कोई विशेष अनाम प्रकार या टुपल अधिक कुशल होगा क्योंकि ऐसी संरचना या एक अपरिवर्तनीय वर्ग विशेष रूप से इसके आकार का कार्य नहीं है, बल्कि इसका उपयोग कैसे किया जाता है। यदि किसी चीज को कभी भी बॉक्सिंग नहीं किया जा रहा है, तो कक्षा के विरुद्ध एक संरचना का उपयोग करने की सापेक्ष लागत आकार पर निर्भर करेगी और इस बात पर कितनी बार प्रतिलिपि बनाना होगा (ध्यान दें कि तथाकथित "अपरिवर्तनीय" structs अक्सर सार्वजनिक क्षेत्र के structs की तुलना में कई बार कॉपी करें)। यदि किसी चीज को निर्माण के बाद एक या दो बार कॉपी किया जाता है (कई उपयोग परिदृश्यों में आम), की सार्वजनिक क्षेत्र संरचना व्यावहारिक रूप से किसी भी आकार एक अपरिवर्तनीय कक्षा से बेहतर प्रदर्शन करेगी। दूसरी तरफ, यदि किसी चीज को अक्सर संदर्भ प्रकार के लिए मजबूर किया जाता है, तो एक अपरिवर्तनीय वर्ग एक संरचना, को काफी हद तक बेहतर प्रदर्शन करेगा, इससे कोई फर्क नहीं पड़ता कि कितना छोटा है।
कॉरर्सिंग संरचना प्रकारों की कीमत संदर्भ प्रकारों के लिए खर्च, और तथ्य यह है कि कुछ उपयोग मामलों को इतनी बार करने की आवश्यकता होगी, इसका मतलब है कि यहां तक कि अगर अधिकांश अस्थायी वस्तुओं के लिए स्ट्रक्चर अपरिवर्तनीय वर्ग वस्तुओं की तुलना में अधिक कुशल होंगे, तो सब कुछ के लिए structs का उपयोग करके सब कुछ के लिए अपरिवर्तनीय वर्ग वस्तुओं का उपयोग करने से कम कुशल हो। उपयोग के मामले जहां structs कुल प्रदर्शन को 10% या उससे अधिक तक सुधारने की अनुमति देगा, शायद दो अलग-अलग प्रकार के टुपल्स और दो अलग-अलग प्रकार के अंतर्निहित अज्ञात प्रकारों की लागत को उचित ठहराने के लिए दुर्लभ हैं।कोड जिसे ओपन-फील्ड structs के प्रदर्शन फायदे की आवश्यकता होती है, आसानी से उनके सटीक उद्देश्यों के लिए संरचना प्रकारों को परिभाषित कर सकती है।
यह उन स्थितियों में अनाम कक्षाओं के लिए आदर्श विकल्प होगा जहां जीसी स्पाइक्स अवांछित हैं। –