एक नई कंपनी से शुरू होने के बाद से मैंने देखा है कि वे हमारे अधिकांश समाधान के लिए एकता सीपीपी फाइलों का उपयोग करते हैं, और मैं सोच रहा था कि कोई मुझे एक निश्चित कारण दे सकता है कि क्यों और कैसे यह प्रक्रिया की गति को गति देता है ? मैंने सोचा होगा कि एकता फाइलों में एक सीपीपी फ़ाइल को संपादित करने से उन सभी के पुनर्मूल्यांकन को मजबूर कर दिया जाएगा। यहाँएकता के लाभ/नुकसान बनाता है?
उत्तर
बहुत समान प्रश्न और अच्छा जवाब: #include all .cpp files into a single compilation unit?
सारांश है कि कम आई/ओ भूमि के ऊपर प्रमुख लाभ है लगता है।
उपरोक्त प्रश्न में भी जुड़े हुए The Magic Of Unity Builds को भी देखें।
उत्कृष्ट उत्तर, आपकी मदद के लिए बहुत बहुत धन्यवाद, उन लिंक को पढ़ने के बाद भी मैं बुद्धिमान नहीं हूं अगर यूनिट सीपीपी के भीतर फाइलों को संपादित करना पूरे स्रोत का पूर्ण पुनर्मूल्यांकन, इस बारे में कोई विचार है? – Stowelly
हां, यह होगा। चाहे वह एक बुरी बात है या नहीं, इस पर निर्भर करता है कि आपको कितनी बार एक पूर्ण पुनर्निर्माण करना है। –
यदि कोई फ़ाइल बदलती है, तो किसी भी सभ्य बिल्ड सिस्टम में एक बदली निर्भरता दिखाई देगी और बहुत कुछ पुन: संकलित होगा। आप उत्कृष्ट सीसीएसी जैसे कंपाइलर कैश के साथ उस समय में से कुछ को कम करने में सक्षम हो सकते हैं - http://ccache.samba.org/ – akent
ली वाइन्डर अपने अनुभवों को पोस्ट एकता के साथ बनाता है - The Evils of Unity Builds
उनका निष्कर्ष है:
एकता बनाता है। मुझे उन्हें पसंद नहीं है।
बहुत उपयोगी लेख। मैं हाल ही में ध्यान दे रहा हूं कि समाधान के भीतर कई परियोजनाओं में फाइलों में कई बदलाव करने में आधे घंटे तक का समय लग सकता है (यहां तक कि अविश्वसनीय के साथ भी) लेकिन स्क्रैच से समाधान और भवन की सफाई में लगभग 5 मिनट लगते हैं, इसलिए निश्चित रूप से बहुत मान्य है वहाँ अंक! – Stowelly
लिंक अब [यहां] पाया जा सकता है (http://engineering-game-dev.com/2009/12/15/the-evils-of-unity-builds/)। – imallett
@imallett लिंक भी टूटा हुआ है। – glauxosdever
ऐसा इसलिए है क्योंकि यह अनावश्यक काम बचाता है। निर्भरता के लिए अनावश्यक पार्सिंग और संकलन। लिंकिंग भी अधिक जटिल है - आपके पास या तो एक ऑब्जेक्ट (या कुछ) में आपके निर्यात हैं, या यह लक्ष्य की ऑब्जेक्ट फ़ाइलों में से अधिकांश में अलग-अलग अनावश्यक निर्यात है। कम वस्तुओं के परिणामस्वरूप I/O कम हो गया और लिंक समय कम हो गया। आपके सेटअप के आधार पर, समावेशन एक समस्या हो सकती है - "एकता निर्माण" प्रणाली पर मैं उपयोग करता हूं, निर्माण अंत में CPU और/या स्मृति बाध्य है।
- 1. एकता
- 2. एकता
- 3. एकता
- 4. एकता
- 5. एकता
- 6. एकता WCF क्लाइंट के MaxItemsInObjectGraph को कॉन्फ़िगर करें जब एकता
- 7. ScanSnap एकता
- 8. एकता वर्ग
- 9. उबंटू एकता
- 10. दूरस्थ डेस्कटॉप के लिए एकता मोड
- 11. क्यों स्वचालित बनाता है?
- 12. टीएफएस कैसे बनाता है?
- 13. एकता ढांचे पुन: उपयोग उदाहरण
- 14. Grails कनेक्शन एकता परीक्षण
- 15. एकता में समतुल्य रजिस्ट्री
- 16. MVC वेब Autofac एकता
- 17. हास्केल कबाल QuickCheck एकता
- 18. मोक और एकता
- 19. WCF एकता और Automapper
- 20. लाइफटाइम मैनेजमेंट (एकता)
- 21. एकता (प्रिज्म) कंटेनर
- 22. क्वार्ट्ज, एकता और .NET
- 23. एकता (निर्भरता इंजेक्शन): RegisterType
- 24. Ninject बनाम एकता डि
- 25. फेसबुक एकता iOS6
- 26. एकता - एक ही इंटरफ़ेस
- 27. एकता: विभिन्न असेंबली
- 28. प्लोन और Asp.Net एकता
- 29. कैसे Ioc एकता
- 30. क्या एकता में कोशिश कर रहा है?
ध्यान रखें कि एकता निर्माण अर्थशास्त्र को बदलता है, क्योंकि बहुत सी चीजें हैं जो एक अनुवाद इकाई की सीमाओं पर निर्भर करती हैं। –