2010-04-05 3 views
11

मैं सोच रहा था कि क्या किसी को पता था कि विजुअल स्टूडियो .NET की समांतर बिल्ड प्रक्रिया थी या नहीं? मेरे पास बहुत सारी परियोजनाओं का समाधान है, प्रत्येक प्रोजेक्ट में बहुत सारे मार्कअप/कोड, बहुत सारे प्रकार इत्यादि हैं। इंटेलिजेंस के साथ बस बैठकर यह लगभग 700 एमबी तक चलता है। लेकिन निर्माण के समय वास्तव में धीमे होते हैं और केवल मेरे दो सीपीयू कोरों में से एक को अधिकतम लगते हैं।क्या अधिक CPUs/कोर VS.NET बिल्ड समय के साथ मदद करेंगे?

क्या इसका मतलब है कि निर्माण प्रक्रिया एकल थ्रेडेड है? मेरा समाधान की बिल्ड निर्भरता श्रृंखला रैखिक नहीं है, इसलिए मुझे नहीं पता कि यह समानांतर में कुछ परियोजनाओं का निर्माण क्यों नहीं कर सका। मुझे याद है कि जोएल स्पॉस्की अपने नए एसएसडी के बारे में ब्लॉगिंग करते हैं, और यह कैसे संकलन के समय में मदद नहीं करता है, लेकिन उन्होंने उल्लेख नहीं किया कि वह किस कंपाइलर का उपयोग कर रहा था। हम वीएस 2005 का उपयोग कर रहे हैं। किसी को पता है कि यह संकलन कैसे काम करता है? और क्या यह 2008/2010 में कोई अलग/बेहतर है?

संपादित करें: यहां बहुत अच्छे प्रतिक्रियाएं हैं, लेकिन मुझे विशेष रूप से सी # और एएसपी.नेट में दिलचस्पी है। हमारे लिए वेब दोस्तों के लिए कोई प्यार नहीं है?

+0

क्या आप किसी भी वीएस प्लगइन का उपयोग करते हैं जो बहुत अधिक संसाधनों का उपभोग कर सकता है? क्या आपकी मशीन में पर्याप्त रैम है कि जितना संभव हो उतना संभव हो बिना रैप में कैश किया जा सकता है? –

+0

यह भी देखें http://stackoverflow.com/questions/1814015/was-visual-studio-2008-or-2010-written-to-use-multi-cores – Brian

+0

मैं राम के बारे में सोच रहा था।यह एक लैपटॉप है जिसमें 2 कोर और 3 जीबी है। बहुत अधिक प्रतीत नहीं होता है, लेकिन अगर devenv.exe प्रक्रिया केवल 700-900 एमबी का उपयोग कर रही है, तो क्या मुझे और चाहिए? – LoveMeSomeCode

उत्तर

9

एमएसबिल्ड (कौन सा वीएस 2005/.NET2 से बनाने के लिए उपयोग करता है) समानांतर निर्माण का समर्थन करता है। डिफ़ॉल्ट रूप से वीएस आपके प्रोसेसर की संख्या में समांतरता की अधिकतम डिग्री निर्धारित करेगा। उपकरण का प्रयोग करें | विकल्प | परियोजनाएं और समाधान | इस डिफ़ॉल्ट को ओवरराइड करने के लिए बनाएं और चलाएं।

बेशक किसी भी निर्माण के समानांतर निर्माण की अनुमति देने के लिए अधिक सीमित (या नहीं) क्षमता हो सकती है। जैसे समाधान में केवल एक असेंबली समानांतर में निर्माण करने के लिए कोई गुंजाइश प्रदान नहीं करती है। समान रूप से बड़ी निर्भरताओं के साथ असेंबली की बड़ी संख्या समानांतरता को अवरुद्ध कर सकती है (ए बी पर निर्भर करता है, सी & बी पर निर्भर करता है, डी पर निर्भर करता है कि सी समानांतर निर्माण के लिए कोई गुंजाइश नहीं है)।

(नायब। सी ++ के लिए, वी.एस. में 2005 & 2008 अपने स्वयं के निर्माण प्रणाली, 2010 में सी ++ भी MSBuild के साथ बनाया जाएगा। उपयोग करता है)

+0

मेरा वीसी ++ 2008 बिल्डिंग समय 50 मिनट से नीचे 5 (साथ/एमटी) तक चला गया जब मैं एक पी 4 एचटी से एक नए कोर i7 क्यू में एक कम घड़ी की गति (यहां तक ​​कि टर्बो बूस्ट के साथ) में बदल गया। मुझे पता है कि प्रोसेसर एकमात्र ऐसा हिस्सा नहीं था जो सुधार हुआ, लेकिन मैं अभी भी बहुत प्रभावित था। –

+0

@mmyers: बिल्ड IO, मेमोरी स्पेस, मेमोरी बैंडविड्थ या सीपीयू --- और बिल्ड में अलग-अलग समय पर एक बिल्ड सीमित किया जा सकता है। आम तौर पर आप उनमें से अधिकतर को यथासंभव संभव (यानी बजट :-(लागू होते हैं) चाहते हैं। एक विशिष्ट निर्माण को एक से अधिक की मदद मिल सकती है, लेकिन अगली परियोजना कहीं और सीमित हो सकती है। – Richard

+0

हां, मैं सहमत हूं। सीपीयू ग्राफ से निर्णय लेते हुए, मुझे लगता है कि मेरी बाधा अब हार्ड डिस्क की गति है (दोनों प्रणालियों में 7200 आरपीएम ड्राइव हैं)। इसलिए मेरा अगला अपग्रेड एसएसडी होगा जैसे ही अच्छे लोग सस्ती हैं। –

1

VS2k5 के साथ यह कौन-सी भाषा का उपयोग करने की कोशिश कर रहे हैं पर निर्भर करता है। सी/सी ++ में बहु-थ्रेडेड बिल्डिंग के लिए 'प्रयोगात्मक' समर्थन है, लेकिन यह सुविधा आधिकारिक तौर पर 2k8 तक/m: स्विच

4

स्कॉट हैनसेलमैन के पास कुछ साल पहले से एक ब्लॉग पोस्ट है कि विवरण Faster Builds with MSBuild using Parallel Builds and Multicore CPUs प्राप्त कर रहा है ब्याज का होना चाहिए। उनके पास फॉलो अप पोस्ट Hack: Parallel MSBuilds from within the Visual Studio IDE है।

2

मेरा सुझाव है कि एक SSD ड्राइव सबसे बड़ा लाभ explicitly for builds

SuperUser जो जोएल का लेख

SO asking for best laptop etc खंडन प्रदान करेगा होगा: SSDs पर विचार विमर्श, कोर, कैसे वी.एस. काम करता है आदि

क्वालीफायर: मैं एक महीने या 3 महीने पहले घर के उपयोग के लिए एक इंटेल एसएसडी खरीदा। लॉर्डी यह तेजी से और तर्कसंगत है कि मैंने कभी भी अपने वूडू 2 को छोड़कर खरीदा है कि किट का सबसे अच्छा टुकड़ा ...

+1

मुझे पता है कि मैंने 2 साल पहले इस सवाल से पूछा था, लेकिन मैंने बाद में 3 एसएसडी खरीदे हैं और मेरे निर्माण के समय तेजी से क्रॉजी हैं। – LoveMeSomeCode

0

मैंने विजुअल स्टूडियो 2008 में समानांतर बिल्ड का उपयोग किया है। यह गति की चीजें करता है, लेकिन कई परेशान साइड इफेक्ट्स हैं।

मुझे अक्सर विफलता मिलती है क्योंकि कुछ संकलन विफल नहीं हुआ क्योंकि वीएस लॉक प्रतीक डेटाबेस में लिखने में असमर्थ था। मैंने वास्तव में इंटेलिसेंस परिणामों को भी गड़बड़ कर लिया है। कभी-कभी मुझे अंतिम सफलता प्राप्त करने के लिए दो या तीन बार निर्माण दोहराना पड़ता है।

संबंधित मुद्दे