जवाबों:
स्कॉट गु ने इमारत की गति को प्रभावित करने वाली चीजों के बारे में भी पोस्ट किया, जो मुख्य रूप से हार्ड डिस्क जैसे I / O संसाधनों की ओर इशारा करता है ।
जो कारक मैंने पाया है, वह सबसे बड़ा अंतर बनाता है एक भौतिक कारक नहीं है, लेकिन एक सॉफ्टवेयर है: आपने कौन सा एंटी-वायरस स्थापित किया है?
कुछ एंटी-वायरस उत्पाद सॉफ़्टवेयर डेवलपमेंट को बहुत अच्छी तरह से हैंडल नहीं करते हैं - वे इन सभी एप्लिकेशन फ़ाइलों को फिर से लिखा हुआ देखते हैं, हर बार हर फ़ाइल पर फ़ाउल-प्ले और रेजकान पर संदेह करते हैं।
( अधिक जानकारी के लिए /programming/1170078/is-it-usual-for-aspx-files-to-take-5-10-seconds-to-save/1170129#1170129 देखें ।)
दूसरी ओर, यदि आप मौजूदा मशीन के प्रदर्शन में सुधार करना चाहते हैं, तो तेज जीत के लिए उपलब्ध मेमोरी को अधिकतम करने के लिए कुछ भी नहीं है।
यहाँ MSBUild के लिए कई सीपीयू का उपयोग करने पर स्कॉट हैन्समैन के कुछ अच्छे शोध हैं । गति अप बहुत नाटकीय हैं।
संपादित करें: मुझे इस बात पर ध्यान देना चाहिए कि विज़ुअल स्टूडियो का उपयोग करने के लिए एक अच्छा अनुभव है, इसके लिए आपको बहुत सारी रैम की आवश्यकता है। :)
उचित आकार के C ++ कोड आधार के साथ मेरा व्यक्तिगत अनुभव:
प्रोसेसर: पेंटियम 4 एचटी 3.06 गीगाहर्ट्ज़
मेमोरी: 1 जीबी डीडीआर रैम (पीसी 2100, इसलिए 333 मेगाहर्ट्ज)
डिस्क: 7200 आरपीएम हार्ड ड्राइव (यूडीएमए 100, अगर मेमोरी काम करती है)
संकलन समय: 50 मिनट
प्रोसेसर: 1.6 गीगाहर्ट्ज पर कोर i7 720QM (8 लॉजिकल प्रोसेसर), सभी कोर सक्रिय होने पर 1.73 गीगाहर्ट्ज़ तक टर्बो बूस्ट करते हैं।
मेमोरी: 866 DDR3 RAM 1066 मेगाहर्ट्ज
डिस्क पर: 7200 RPM हार्ड ड्राइव (S2 2)
संकलन समय: 4 मिनट (साथ) / एमपी )
निष्कर्ष: अधिक प्रोसेसर, मर्जर - अपेक्षाकृत कम घड़ी की गति पर भी। एक एसएसडी आगे समय में सुधार करेगा, लेकिन संकलन संदेशों के अवलोकन से, मुझे संदेह है कि यह 30 सेकंड या उससे अधिक समय तक इसे बेहतर करेगा।
जहाँ तक मुझे मुख्य रूप से प्रोसेसर और मेमोरी याद है। एक त्वरित Google ने विभिन्न मोड़ प्रकट किए जो संकलन समय में सुधार कर सकते हैं।
जोएल ने हाल ही में यहां संकलन पर ठोस राज्य डिस्क के प्रभाव के बारे में पोस्ट किया है । डिस्क गति आमतौर पर संकलन समय में अत्यधिक सुधार नहीं करती है। हालांकि के अनुसार इस यह द्वारा उठाई बाहर के रूप में एक प्रभाव है lyngbym ।
C ++ प्रोग्राम के निर्माण के लिए, # 1 कारक से पहले अन्य सभी संरचनात्मक है - यदि स्रोत कोड को भारी रूप से संरचित किया गया है, तो इसका बिल्ड समय, विशेष रूप से वृद्धिशील बिल्ड पर विनाशकारी प्रभाव पड़ेगा। मैंने स्थानीय रूप से क्वाड-कोर Xeon पर एक नाटकीय सुधार के लिए एक परियोजना के कुछ हिस्सों का पुनर्गठन किया। 18 महीने बाद और वे (जो लोग इस परियोजना के मालिक हैं) अभी भी कोर आई 7 मशीनों पर मेरी दीवार-घड़ी के निर्माण के समय से मेल नहीं खा सकते हैं।
आपके सॉफ़्टवेयर लेआउट का प्रभाव (सकारात्मक या नकारात्मक) आपकी टीम के प्रत्येक सदस्य पर और उनके द्वारा किए जाने वाले प्रत्येक निर्माण पर कई गुना अधिक होता है।
Xoreax IncrediBuild एक वितरित बिल्ड सिस्टम है जिसने संकलन के समय में एक बड़ा सुधार किया है जहां मैं काम करता हूं। (दुर्भाग्य से, लिंक का समय अभी भी बहुत लंबा है, विशेष रूप से रिलीज पूरे कार्यक्रम अनुकूलन और लिंक-टाइम कोड पीढ़ी का उपयोग करके बनाता है, लेकिन यह उम्मीद की जानी है।)