मैंने पिछले कुछ वर्षों से इस के साथ निपटाया। बड़ी संख्या में स्थैतिक पुस्तकालयों को जोड़ने के दौरान जीएनयू लिंकर में गंभीर प्रदर्शन समस्याएं होती हैं। एक बिंदु पर, लिंक समय संकलन समय के बराबर था, जिसे हमने बहुत अजीब पाया, हमने वास्तव में इसकी जांच की और इसे समझ लिया।
आप लिंक करने से पहले अपने स्थिर पुस्तकालयों को "सुपर ऑब्जेक्ट" में मर्ज करने का प्रयास कर सकते हैं। इस प्रकार की जोड़ने की:
$ g++ -o program program.o $STATIC_LIBS
आप इस कोशिश कर सकते:
$ ld -r -o libraries.o --whole-archive $STATIC_LIBS
$ g++ -o program program.o libraries.o
नोट इस विधि अप्रयुक्त वस्तु कोड को बाहर करने के संयोजक कम अवसर देता है, तो उसे अपनी बाइनरी कुछ हद तक आकार में वृद्धि हो सकती है।
क्या आप [लिंक टाइम कोड पीढ़ी] (http://gcc.gnu.org/wiki/LinkTimeOptimization) का उपयोग कर रहे हैं? यह तेजी से कोड उत्पन्न करेगा लेकिन लिंक का समय बढ़ जाएगा। –
8 सेकंड तेज है। यह चिंता करने के लिए ज्यादा पसंद नहीं है। परियोजना कितनी बड़ी है? –
प्लेटफार्म और कंपाइलर? जीसीसी और बिनुटिल्स के साथ, [सोना] (http://sourceware.org/ml/binutils/2008-03/msg00162.html) अधिकतर (क्लासिक) एलडी से अधिक तेज़ है, और [क्लैंग] (http: //clang.llvm .org /) उस से तेज (या हो सकता है) हो सकता है। – ephemient