Shared libraries आमतौर पर अच्छे नहीं होते
(lore.kernel.org)- Fedora में clang/llvm के धीमे होने की वजह यह है कि नीति के तौर पर इसे दूसरे पैकेजों के साथ dynamic linking किया जाता है
→ इस पर Linus Torvalds की टिप्पणी
"काश Fedora ऐसा न करे। Shared libraries आमतौर पर अच्छी नहीं होतीं।
इस मामले में (clang) काफ़ी overhead पैदा होता है, और गैर-ज़रूरी dependencies तथा complexity बढ़ती है।
ज़्यादातर shared libraries वास्तव में version-safe भी नहीं होतीं, इसलिए इससे कोई खास फ़ायदा नहीं मिलता।"
"इससे disk usage बच सकती है, लेकिन disk सस्ती है, और memory बचत भी वास्तव में नकारात्मक होती है।
लोग कहते हैं कि 'shared libraries अपने-आप में अच्छी होती हैं', लेकिन सच में ऐसा नहीं है। वे बहुत-सी समस्याएँ पैदा करती हैं, और उनके फ़ायदों की तुलना इन बड़े नुकसानों से की जानी चाहिए।
जहाँ shared libraries वास्तव में उपयोगी हैं, वह केवल सचमुच standardized base distribution की system libraries हैं।"
2 टिप्पणियां
पहले जब Windows programming करता था, तब यह सोचने की याद फिर से आ गई कि इसे dll के रूप में बनाऊँ या exe के अंदर static library के रूप में पैक कर दूँ.
शुरुआत में disk और memory usage कम करने और cache efficiency बढ़ाने के लिए shared library का इस्तेमाल मुझे पसंद था, लेकिन बाद में उसका management बिल्कुल संभलता नहीं था और असुविधाएँ भी बहुत ज़्यादा थीं, इसलिए मैंने सब कुछ static के रूप में ही ठूँसना शुरू कर दिया.
उसके बाद शरीर तो आराम में था, लेकिन मन में कुछ न कुछ बेचैनी बनी रहती थी; अब Torvalds भाई की बात सुनकर जाकर मन को शांति मिली है.....
शुरू से ही आराम से जीना चाहिए था.
हाँ, और व्यवहारिक काम में यह भी एक बड़ा पहलू होता है कि सिर्फ डेवलपमेंट प्रभारी की सुविधा ही नहीं बढ़ती, बल्कि environment के हिसाब से आने वाली समस्याओं के support का बोझ भी कम हो जाता है.