के साथ संकलन समय को गति दें मैं अपनी सी ++ परियोजनाओं के संकलन-समय को तेज़ करने की कोशिश करना चाहता हूं। उनके पास कोड की लगभग 3 एम लाइनें हैं।एसएसडी
बेशक, मुझे हर परियोजना को हमेशा संकलित करने की आवश्यकता नहीं है, लेकिन कभी-कभी अन्य स्रोतों द्वारा संशोधित स्रोत फाइलें होती हैं, और मुझे उन सभी को पुन: संकलित करने की आवश्यकता होती है (उदाहरण के लिए, जब कोई ASN.1 स्रोत फ़ाइल अपडेट करता है) ।
मैंने माप लिया है कि एक मध्य-परियोजना (जिसमें सभी स्रोत फ़ाइलों को शामिल नहीं किया गया है) को संकलित करने में लगभग तीन मिनट लगते हैं। मुझे पता है कि बहुत ज्यादा नहीं है, लेकिन कभी कभी यह एक संकलन के लिए इंतज़ार कर वास्तव में उबाऊ है ..
मैं एक एसएसडी (एक पुराने OCZ उपगम्यता 3 60 जीबी) है कि, बेंचमार्क के लिए स्रोत कोड को स्थानांतरित करने की कोशिश की है, यह से है एचडीडी से 5 से 60 गुना तेज (विशेष रूप से यादृच्छिक पढ़ने/लिखने में)। वैसे भी, संकलन-समय लगभग एक ही है (शायद 2-3 सेकंड तेज, लेकिन यह एक मौका होना चाहिए)।
शायद विजुअल स्टूडियो बिन को एसएसडी में ले जाने से प्रदर्शन में अतिरिक्त वृद्धि होगी?
बस प्रश्न को पूरा करने के लिए: मेरे पास W3520 Xeon @ 2.67 गीगाहर्ट्ज और 12 जीबी डीडीआर 3 ईसीसी है।
आपको [इस] में रुचि हो सकती है (http://www.joelonsoftware.com/items/2009/03/27.html)। जोएल ने निष्कर्ष निकाला कि यह वास्तव में मदद नहीं करता था। – BoBTFish
हेडर फ़ाइलों से कार्यान्वयन फ़ाइलों में शामिल करने वालों के लिए अप्रासंगिक सब कुछ ले जाएं। अपने कोड में # अंतर्निहित निर्देशों को कम करें, खासकर हेडर फ़ाइलों में न्यूनतम आवश्यक के लिए। यह आमतौर पर परिमाण के क्रम से अधिक स्पेगेटी परियोजना निर्माण के समय को गति देता है। –
@BoBTFish: किसी को यह ध्यान रखना चाहिए कि यह लेख कुछ हद तक पुराना है (एसएसडी आजकल 3 पीढ़ियों के इस्तेमाल से परे हैं) और स्पष्ट रूप से, बहुत हास्यास्पद समग्र भी। यह लड़का $$$ खर्च करता है क्योंकि 30 सेकंड पुनर्निर्माण समय "बहुत धीमा" होता है, फिर एक एसएसडी को बुजुर्ग नोटबुक में रखता है ताकि बहुमूल्य देव समय बर्बाद करने से बचें (और इसे दो दिन बर्बाद कर दें) और चमत्कार करें कि पूरी तरह से सीपीयू-बाध्य संकलन क्यों उस बुजुर्ग नोटबुक को कोई तेज़ नहीं मिलता है। इसे गंभीरता से लेने में कुछ मुश्किल है। – Damon