शीर्षक के अनुसार, सामान्य कार्य की तुलना में, क्या डीएलएल कार्यों को कॉल करने में एक perf हिट है? डीएलएल dlopen
द्वारा लोड किया जाएगा। संपादित करें: dlsym
समय को अनदेखा करें क्योंकि मैं केवल प्रत्येक फ़ंक्शन के बाद इसे करता हूं।क्या डीएलएल कार्यों का उपयोग कर कोई पेर्फ हिट है?
उत्तर
कॉल का पता और संकलक उन्हें इनलाइन नहीं कर सकते द्वारा अप्रत्यक्ष कर रहे हैं है, इसलिए वहाँ एक मामूली प्रदर्शन हिट है।
आपको केवल चिंता करना चाहिए यदि आप उन्हें प्रदर्शन आंतरिक आंतरिक लूप में और उन्हें प्रोफाइल करने के बाद उपयोग करते हैं।
ठीक है। प्रोफाइल यह है कि मैं करूँगा! : डी – nakiya
हां एक प्रदर्शन हिट है। आप फ़ंक्शन का पता पाने के लिए एक dlsym कॉल करते हैं और फिर उस पते के साथ फ़ंक्शन को कॉल करते हैं। जैसा कि एक ही मॉड्यूल से फ़ंक्शन कॉल की तुलना में एक जोड़ा गया डीएलएसआईएम कॉल है, यह धीमा होना चाहिए। यह कितना मायने रखता है? निर्भर करता है। जानने का एकमात्र निश्चित तरीका यह मापना है।
आप सही हैं। लेकिन मेरे मामले में, मैं प्रत्येक समारोह के लिए कार्यक्रम के जीवनकाल के लिए केवल एक बार 'dlsym' करता हूं। और, इसके अतिरिक्त मैं फ़ंक्शन को आमंत्रित करने के लिए फ़ंक्शन पॉइंटर्स का उपयोग करता हूं। तब के बारे में क्या? – nakiya
@nakiya उस मामले में आप केवल उन्हीं ऑप्टिमाइज़ेशन के अवसर खो देते हैं जिन्हें आप अन्यथा चाहते हैं यदि कॉल किया गया फ़ंक्शन स्थिर रूप से लिंक किया गया था, यानी इनलाइनिंग, इंटर-प्रोसेसिंग ऑप्टिमाइज़ेशन, निरंतर प्रचार और इसी तरह। दूसरे शब्दों में यह एक फ़ंक्शन पॉइंटर के माध्यम से एक ही मॉड्यूल के फ़ंक्शन को कॉल करने से वास्तव में अलग नहीं है। – usta
पता लगाने के लिए सबसे अच्छा तरीका है बस को मापने के लिए ... DLL कार्यों के लिए
- 1. क्या एंड्रॉइड में कोई डीएलएल या डीएलएल अवधारणा है?
- 2. एक डीएलएल क्या है?
- 3. क्या एक डीएलएल संस्करण का उपयोग करने के लिए मजबूर करने का कोई तरीका है?
- 4. क्या एचटीएमएल 5 हिट पहचान संभव है?
- 5. इंटरऑप डीएलएल क्या है?
- 6. सी #: डीएलएल का उपयोग क्यों करें?
- 7. क्या विम-स्क्रिप्ट में दो कस्टम, पूर्ण कार्यों का उपयोग करने का कोई तरीका है?
- 8. शुद्ध कार्यों के भीतर आईओ कार्यों का क्या अर्थ है?
- 9. क्या कोई फ़ायरफ़ॉक्स एक्सयूएल आईडीई का उपयोग कर रहा है?
- 10. क्या कोई स्पेक्ट्रर बीडीडी फ्रेमवर्क का उपयोग कर रहा है?
- 11. क्या कोई कानबान का उपयोग कर रहा है?
- 12. हिट
- 13. क्या हाइबरनेट में विश्लेषणात्मक कार्यों का उपयोग करना संभव है?
- 14. क्या पाइथन मॉड्यूल से सी-डीएलएल बनाने का कोई तरीका है?
- 15. डेल्फी डीएलएल ShareMem का उपयोग किए बिना वाइडस्ट्रिंग का उपयोग क्यों कर सकता है?
- 16. वार्निश हिट-फॉर-पास का मतलब है?
- 17. सी # का उपयोग कर अप्रबंधित डीएलएल कैसे बनाएं?
- 18. क्या कोई क्लैमाटो का उपयोग करता है?
- 19. जावास्क्रिप्ट में अज्ञात कार्यों का उपयोग करने के लिए कोई कमी है? जैसे स्मृति उपयोग?
- 20. लैबव्यू में असीमित डीएलएल का उपयोग?
- 21. Clojure कार्यों कॉलिंग का उपयोग कर वर-उद्धरण वाक्य रचना
- 22. क्या पाइथन कक्षा का उपयोग करने में कोई फायदा है?
- 23. सी # परियोजना में सी ++ डीएलएल का उपयोग
- 24. डीएलएल का उपयोग करने के पेशेवर और विपक्ष क्या हैं?
- 25. एफ # कार्यों में पैरामीटर परिभाषित करना, क्या यह टुपल्स का बेहतर उपयोग कर रहा है?
- 26. सी #+ कक्षा डीएलएल का उपयोग सी # अनुप्रयोग
- 27. क्या ब्लॉच के बिल्डर पैटर्न का उपयोग करने से कोई स्मृति और प्रदर्शन हिट लिया गया है?
- 28. क्या कोई तरीका है QML फेसबुक जावास्क्रिप्ट एसडीके का उपयोग कर डेटा लोड कर सकता है?
- 29. जब कोई कुंजी हिट होती है तो अनचाहे बीप
- 30. मैं रूबी से विंडोज डीएलएल कार्यों को कैसे कॉल करूं?
आप इसे लिनक्स के तहत डीएलएल नहीं कहते हैं। यह एक साझा वस्तु है। साझा ऑब्जेक्ट की लोडिंग कुछ अतिरिक्त समय लेती है हालांकि इसे लोड होने के बाद इसे सामान्य कार्यों से कोई फर्क नहीं पड़ता है। – Vinzenz