हम बहुत धीमी गति से संकलन कर रहे हैं, जो दोहरे कोर 2GHz, 2G राम मशीनों पर 20+ मिनट तक का समय ले सकता है।
इसमें से बहुत कुछ हमारे समाधान के आकार के कारण है जो 70+ परियोजनाओं तक बढ़ गया है, साथ ही साथ वीएसएस जो कि अपने आप में एक बोतल गर्दन है जब आपके पास बहुत सारी फाइलें होती हैं। (VSS को स्वैप करना दुर्भाग्य से कोई विकल्प नहीं है, इसलिए मैं नहीं चाहता कि यह VSS बैश में उतरे)
हम विलय की परियोजनाओं को देख रहे हैं। हम आवेदन के प्रत्येक तत्व के लिए चिंताओं के अधिक से अधिक पृथक्करण और त्वरित संकलन समय को प्राप्त करने के लिए कई समाधानों को देख रहे हैं। यह मैं देख सकता हूं कि हम एक डीएलएल नरक बन जाएंगे क्योंकि हम चीजों को सिंक में रखने की कोशिश करते हैं।
मुझे यह जानने में रुचि है कि अन्य टीमों ने इस स्केलिंग मुद्दे से कैसे निपटा है, आप क्या करते हैं जब आपका कोड आधार एक महत्वपूर्ण द्रव्यमान तक पहुंच जाता है जो आप आधे दिन बर्बाद कर रहे हैं और स्टेटस बार डिलीट मैसेज देख रहे हैं।
अपडेट करें मैं यह उल्लेख करने के लिए उपेक्षित हूं कि यह एक # समाधान है। सभी C ++ सुझावों के लिए धन्यवाद, लेकिन मुझे हेडर के बारे में चिंता करने के लिए कुछ साल हो गए हैं।
संपादित करें:
अब तक मदद करने वाले अच्छे सुझाव (यह कहते हुए कि नीचे अन्य अच्छे सुझाव नहीं हैं, बस क्या मदद की है)
- नया 3GHz लैपटॉप - खो उपयोग की शक्ति प्रबंधन के लिए जब अद्भुत काम करता है
- संकलन के दौरान एंटी वायरस को अक्षम करें
- संकलन के दौरान वीएसएस (वास्तव में नेटवर्क) से 'डिस्कनेक्ट' - मैं वीएस-वीएसएस एकीकरण को पूरी तरह से हटाने के लिए हमें प्राप्त कर सकता हूं और वीएसएस यूआई का उपयोग करने के लिए छड़ी कर सकता हूं
फिर भी एक संकलन के माध्यम से चीर-सूंघ नहीं, लेकिन हर बिट मदद करता है।
ओरियन ने एक टिप्पणी में उल्लेख किया कि जेनरिक में एक नाटक भी हो सकता है। मेरे परीक्षणों से प्रतीत होता है कि एक न्यूनतम प्रदर्शन हिट है, लेकिन यह सुनिश्चित करने के लिए पर्याप्त उच्च नहीं है - डिस्क गतिविधि के कारण संकलन समय असंगत हो सकता है। समय सीमाओं के कारण, मेरे परीक्षणों में कई जेनरिक, या उतने कोड शामिल नहीं थे, जितने कि लाइव सिस्टम में दिखाई देंगे, ताकि जमा हो सके। मैं जेनरिक का उपयोग करने से बचना नहीं चाहूँगा जहाँ उनका उपयोग किया जाना है, बस संकलन समय प्रदर्शन के लिए
कारगर युक्तियाँ
हम नए समाधानों में एप्लिकेशन के नए क्षेत्रों के निर्माण के अभ्यास का परीक्षण कर रहे हैं, आवश्यकतानुसार नवीनतम dll में आयात कर रहे हैं, उन्हें बड़े समाधान में एकीकृत करते हैं जब हम उनसे खुश होते हैं।
हम अस्थायी समाधान बनाकर उन्हें मौजूदा कोड के समान भी कर सकते हैं जो उन क्षेत्रों को कूटबद्ध करते हैं जिन पर हमें काम करने की आवश्यकता होती है, और कोड को फिर से स्थापित करने के बाद उन्हें फेंक देते हैं। विकास के दौरान तेजी से घूमने के साथ अनुभवों की तरह रिप वान विंकल न होने से हमें इस कोड को पुन: प्राप्त करने में लगने वाले समय को तौलना होगा।