मेरे पास एक बड़ी परियोजना है, सी ++ कोड के लगभग 150 000 एलओसी। समय बनाना लगभग 15 मिनट है। इस परियोजना में विभिन्न आकारों की कई उप-परियोजनाएं शामिल हैं।जीसीसी बिल्ड समय प्रीकंपील्ड हेडर से अधिक लाभ नहीं देता
मैंने प्रत्येक सबप्रोजेक्ट के लिए अलग प्रीकंपिल्ड हेडर बनाए हैं, लेकिन जब मैं उनका उपयोग करता हूं तो निर्माण समय लगभग वही रहता है। ऐसा लगता है कि निर्माण का समय 5-10% कम है, और अधिक नहीं।
Precompiled हेडर निश्चित रूप से प्रयोग किया जाता है मैं -Winvalid-pch
विकल्प का उपयोग और मैं -H
संकलक विकल्प के साथ संकलन करने की कोशिश की है, मेरे precompiled हेडर 'बैंग' प्रतीक, इसका मतलब है कि संकलक precompiled शीर्ष लेख का उपयोग करने में सक्षम है के साथ उत्पादन में दिखाई देता है।
मेरे सभी प्रीकंपील्ड हेडर बहुत बड़े नहीं हैं, प्रत्येक फ़ाइल लगभग 50 एमबी है। मैं पाइथन लिपि का उपयोग करता हूं, here पाया जाता है ताकि अधिकांश प्रयुक्त प्रीकंपील्ड हेडर की सूची उत्पन्न हो सके, इसलिए प्रीकंपिलेशन उम्मीदवारों की मेरी सूची काफी अच्छी है।
क्या निर्माण अनुकूलन के लिए कोई खाली/मुक्त स्रोत उपकरण है? ऐसा लगता है कि मानक make
उपयोगिता में विभिन्न लक्ष्यों के निर्माण के समय को मापने की क्षमता नहीं है। मुझे make
के साथ विभिन्न लक्ष्यों के आंकड़े प्राप्त करने का तरीका नहीं मिल रहा है। मैं निर्भरता विश्लेषण या कुछ उन्नत के बारे में बात नहीं कर रहा हूँ। मैं सिर्फ यह जानना चाहता हूं कि अधिकांश समय बर्बाद होने वाले लक्ष्य क्या हैं।
इसके अलावा, ऐसा लगता है कि जीसीसी प्रीकंपील्ड हेडर से निपटने में काफी अक्षम है। मैं किसी भी उपप्रोजेक्ट को विशेष रूप से तेज़ बनाने में असमर्थ था, मुझे मिलने वाली अधिकतम गति एक परियोजना पर 20% है जो निर्माण के लिए तीन मिनट लगती है। ऐसा लगता है कि जीसीसी के साथ लिनक्स पर निर्माण समय को अनुकूलित करने के बजाय ठोस राज्य ड्राइव के साथ तेज मशीन खरीदने के लिए यह आसान और सस्ता है।
/dev/shm में रहने वाले स्रोत कोड और आउटपुट निर्देशिका दोनों के साथ निर्माण करने का प्रयास करें। यदि निर्माण का समय नाटकीय रूप से गिरता है तो आपकी पूर्व निर्माण फ़ाइल प्रणाली प्रमुख निर्माण समय योगदानकर्ता थी। – bobah
मैं उस विशाल को नहीं बुलाऊंगा।छोटे और मध्यम आकार के बीच एक परियोजना की तरह :) –
@ BЈовић सहमत हैं, लेकिन मेरी मशीन पर तेजी से संकलित (या कम से कम तुलनीय) को बढ़ावा देता है। – Lazin