सी में स्मार्ट पॉइंटर्स की मेमोरी और टाइम ओवरहेड
स्मार्ट पॉइंटर्स, जैसे सी 11 में std::shared_ptr और std::unique_ptr, स्वचालित मेमोरी प्रबंधन प्रदान करें और स्वामित्व शब्दार्थ को सरल बनाएं। हालाँकि, कुछ डेवलपर्स पारंपरिक पॉइंटर्स की तुलना में स्मार्ट पॉइंटर्स का उपयोग करने के संभावित प्रदर्शन प्रभाव के बारे में आश्चर्यचकित हो सकते हैं। एक गैर-तुच्छ डिलिटर प्रदान किया गया है। हालाँकि, std::shared_ptr को संदर्भ काउंटर के लिए हमेशा अतिरिक्त मेमोरी की आवश्यकता होती है, भले ही अपेक्षाकृत कम मात्रा में। निर्माण यदि प्रदान किए गए डिलिटर को कॉपी करने की आवश्यकता है या पॉइंटर को शून्य के रूप में प्रारंभ किया गया है, और स्वामित्व को नष्ट करने के लिए विनाश के दौरान object.
std::shared_ptr मुख्य रूप से संदर्भ काउंटर बनाने के लिए निर्माण के दौरान, संदर्भ काउंटर को कम करने और ऑब्जेक्ट को संभावित रूप से नष्ट करने के लिए विनाश के दौरान, और संदर्भ काउंटर को बढ़ाने के लिए असाइनमेंट के दौरान ओवरहेड समय का अनुभव करता है। इसके अतिरिक्त, ये वृद्धि/कमी थ्रेड-सुरक्षा के लिए परमाणु हैं, जो ओवरहेड में और योगदान देती हैं।
प्रदर्शन पर प्रभाव:यह ध्यान रखना महत्वपूर्ण है कि कोई भी स्मार्ट नहीं है डीरेफ़रेंसिंग के दौरान पॉइंटर्स के पास समय ओवरहेड होता है, जो आमतौर पर पॉइंटर्स के लिए सबसे अधिक बार होने वाला ऑपरेशन है।सामान्य तौर पर, स्मार्ट पॉइंटर्स से जुड़ा ओवरहेड न्यूनतम होता है और कोड प्रदर्शन को महत्वपूर्ण रूप से प्रभावित नहीं करना चाहिए। हालाँकि, स्मार्ट पॉइंटर्स का निरंतर निर्माण और विनाश प्रदर्शन में बाधाएँ उत्पन्न कर सकता है।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3