मैं गतिशील रूप से लोड की गई लाइब्रेरीज़ के लिए प्लेटफ़ॉर्म स्वतंत्र रैपर को कार्यान्वित करने की प्रक्रिया में हूं। बेशक जब मैं पुस्तकालयों से कार्यों को लोड करता हूं तो मुझे उन्हें भविष्य के उपयोग के लिए पॉइंटर्स के रूप में स्टोर करने की आवश्यकता होती है। मैंने सामान्य फ़ंक्शन पॉइंटर्स की बजाय बूस्ट :: फ़ंक्शन का उपयोग करने के बारे में सोचा। निश्चित रूप से, यह संकलन समय में वृद्धि करेगा, लेकिन यह वह नहीं है जो मुझे डरता है। इसके बजाय:बूस्ट :: फ़ंक्शन रन-टाइम प्रदर्शन
संग्रहीत फ़ंक्शन को कॉल करते समय बूस्ट :: फ़ंक्शन द्वारा ओवरहेड पेश किया गया है? क्या कोई है? वो कितना बड़ा है?
मुझे लगता है कि समय-समय पर ऐसे कार्यों को कॉल करते समय मुझे अधिक ओवरहेड नहीं होगा, हालांकि, कितने कार्यों को बुलाया जाता है? (चरम उदाहरण, glVertex
एक लोड जीएल पुस्तकालय पर)। यह प्रदर्शन को कितना नुकसान पहुंचाएगा?
स्रोत-डाइविंग बूस्ट ने अधिक जवाब नहीं दिया:>।
यदि यह कंपाइलर निर्भर है, तो भी मुझे मुख्य रूप से जीसीसी और एमएसवीसी में दिलचस्पी है।
उत्तर है: यह बहुत अधिक नुकसान पहुंचाएगा, इसका उपयोग न करें। – user1095108