2009-11-28 9 views
15

असल में मैं जानना चाहता हूं कि एक और कोर कोर वातावरण का उपयोग करने के लिए 2010 और 2012 में विजुअल स्टूडियो आईडीई और/या कंपाइलर लिखा गया था (मुझे समझ में आता है कि हम समांतरता का उपयोग करके सभी संस्करणों में बहु कोर वातावरण को लक्षित कर सकते हैं, लेकिन यह है मेरा सवाल नहीं)।मल्टी कोर का उपयोग करने के लिए लिखित विजुअल स्टूडियो 2008, 2010 या 2012 (v11) था?

मैं यह तय करने की कोशिश कर रहा हूं कि मुझे उच्च घड़ी दोहरी कोर या निचला घड़ी क्वाड कोर प्राप्त करना चाहिए, क्योंकि मैं कोशिश करना चाहता हूं कि कौन सा प्रोसेसर मुझे विजुअल स्टूडियो 2010 या 2012 के साथ पूर्णत: सर्वोत्तम संभव अनुभव देगा (v11) (विचार और पृष्ठभूमि संकलक)।

यदि वे एक कोर में सबसे महत्वपूर्ण अनुभाग (पृष्ठभूमि कंपाइलर और अन्य विचार कार्यों) चला रहे हैं, तो कोर को क्वाड कोर चलाने पर कोर काट दिया जाएगा, खासकर अगर पृष्ठभूमि कंपाइलर सबसे भारी काम है, तो मैं कल्पना करूंगा एक से अधिक प्रक्रियाओं में अलग होना मुश्किल होगा, इसलिए यदि यह बहु कोर का उपयोग करता है तो भी आप उच्च घड़ी CPU के लिए जाने से बेहतर हो सकते हैं यदि अधिकांश प्रोसेसिंग अभी भी एक कोर में होती है (यानी सबसे महत्वपूर्ण वीएस पर्यावरण का हिस्सा)।

मैं एक वीबी प्रोग्रामर हूं, उन्होंने 2010 और 2012 में उत्कृष्ट प्रदर्शन सुधार किए हैं, बधाई (भयानक ग्रे स्केल डिज़ाइन और हर जगह अपरकेस को छोड़कर), लेकिन मुझे वीएस का उपयोग करने में सक्षम होना पसंद है .. । क्या किसी के भी पास कोई सुझाव है? इसके अलावा, मैं समाधान लोड समय के बारे में बहुत चिंतित नहीं हूं, क्योंकि मैं एक समय में केवल एक परियोजना को कोड करता हूं।

धन्यवाद।

+1

संकलन मुख्य रूप से एक सीपीयू कार्य है लेकिन एक एसएसडी उठाकर जीयूआई तेजी से प्रतीत होता है। – gradbot

+0

एसएसडीडी एक ही स्लॉट में फिट है 2.5 "एचडी फिट बैठता है? कनेक्टर्स या स्लॉट या कुछ भी बदलने की ज़रूरत नहीं है? –

उत्तर

8

मुझे लगता है कि आप शायद उच्च घड़ी वाले दोहरे कोर के साथ बेहतर हो। मुझे लगता है कि वीएस (और आज के अधिकांश ऐप्स) मल्टी-थ्रेडिंग के बड़े फायदे नहीं लेते हैं। वीएस में दर्जनों धागे चल सकते हैं, लेकिन ऑपरेशंस का केवल एक सबसेट वास्तव में उन लोगों का लाभ उठाता है जो मुझे लगता है। वीएस कार्यान्वयन का एक बहुत सी सी ++ COM घटक है जो एसटीए थ्रेड पर चलता है, इसलिए यूआई थ्रेड कई परिदृश्यों में काम का बड़ा हिस्सा करता है। तथ्य यह है कि वीएस -2010 के हिस्से के रूप में वीएस खोल के कई टुकड़े प्रबंधित कोड में फिर से लिखे जा रहे हैं, इन प्राचीन घटक एसटीए निर्भरताओं में से बहुत अधिक तोड़ने में मदद मिलेगी। जैसा कि अन्य लोगों ने उल्लेख किया है, कुछ महत्वपूर्ण परिदृश्य (जैसे बड़े समाधान का निर्माण) पहले से ही कई कोरों का लाभ उठाते हैं (एमएसबिल्ड समानांतर में अच्छी तरह से काम करता है), इसलिए यदि आप जो परवाह करते हैं उस पर हावी है, तो अधिक कोर बेहतर है। लेकिन आईडीई यूआई उपयोग और पृष्ठभूमि संकलन जैसी चीजों के लिए, मुझे लगता है कि इनमें से अधिकतर अभी भी एकल-थ्रेडेड हैं। मेरे पास काम पर एक क्वाड-कोर बॉक्स है, और मुझे शायद ही कभी वीएस -2008 मेरे 25% से अधिक CPU संसाधनों का उपयोग करता है। (मैंने यह जानने के लिए पर्याप्त रूप से वीएस -2010 का उपयोग नहीं किया है कि कौन से परिदृश्य बेहतर हैं, हालांकि मुझे पता है कि कम से कम कुछ बेहतर हैं।)

+3

ब्रायन का शुक्रिया अदा करता है, यह 2.0 गीगा क्वाड-कोर और 2.93ghz ड्यूल-कोर के बीच, मुझे लगता है कि 2.93ghz ड्यूल-कोर शायद सबसे अच्छा है, जाने के लिए रास्ता (अगर अन्य लोग भी वर्तमान लैपटॉप उपलब्ध सीपीयू घटकों के आधार पर सोच रहे थे) मुख्य रूप से क्योंकि कई अन्य ऐप्स के साथ बनाम समानांतर (या पूरी तरह से बंद) समानांतर होने की संभावना नहीं है। - धन्यवाद फिर से –

+2

मुझे लगता है कि वीएस 2010 में यह एक है बहुत करीब चलने वाली चीज, यह निश्चित रूप से पहले से अधिक थ्रेडेड है। और यदि आपने एमएस को सही तरीके से बनाया है तो यह समानांतर में परियोजनाएं तैयार करेगा। अधिकांश लोगों के पास उनके समाधान में कई परियोजनाएं होती हैं जिन पर निर्भरता होती है अन्य किसी भी तरह से। इस तथ्य के साथ कि आप एक ओएस, ईमेल क्लाइंट, वेब ब्राउज़र चला रहे हैं ... शायद हर समय 4 कोर मुझे समझ में आता है। एक प्रोग्राम के लिए एकाधिक थ्रेड्स को एकाधिक ऐप्स नहीं लगता है। – PeteT

+0

इस इनपुट पेटी के लिए धन्यवाद, यह निश्चित रूप से कुछ सोचने के लिए है, मुझे आश्चर्य है कि बनाम देव टीम को इसके बारे में क्या कहना है? –

13

एमएसबिल्ड समानांतर में परियोजनाओं का निर्माण करने का समर्थन करता है। विजुअल स्टूडियो 2008 कई प्रोसेसर का लाभ compile projects पर लेता है।

+1

इस इनपुट के लिए धन्यवाद, मुझे लगता है कि मुख्य रूप से एंटरप्राइज़ डेवलपर्स और बहु-परियोजना डेवलपर्स को इस पर ध्यान देना चाहिए, अगर आप पढ़ रहे हैं। –

11

जैसा कि अन्य लोगों ने ध्यान दिया है, एमएसवीएस 2010 वास्तव में संकलन के लिए कई प्रक्रियाओं का उपयोग करता है। हालांकि, यह स्वचालित रूप से भारी संकलन समय में परिवर्तित नहीं होता है। मैंने अभी एक मध्यम आकार के सी ++ प्रोजेक्ट (लगभग 200 फाइलें) के साथ एक परीक्षण किया है। यह 2.8 गीगाहर्ट्ज़ पर क्वाड कोर की तुलना में 3.4 गीगा पर दोहरी कोर पर तेजी से बनाया गया। हालांकि दोहरी कोर प्रोसेसर सस्ता है। (सिस्टम व्यावहारिक रूप से 4 जीआईबी डीडीआर 2 राम के साथ समान हैं)। मुझे यह भी ध्यान रखना चाहिए कि संकलन के दौरान दोहरी कोर प्रोसेसर 70% अधिकतम लोड किया गया था। जैसा कि आप देख सकते हैं, अगर वीएस -2010 पूरी तरह से 2 कोर भी लोड नहीं कर सकता है, तो 4 या उससे अधिक होने का क्या मतलब है?

+0

इस नोट के लिए धन्यवाद, मैंने आपको वोट दिया है :) esp दिया गया है कि आप एक नए उपयोगकर्ता हैं। –

+0

+1 ^^ वही कारण – Basic

+1

आपके पास विजुअल स्टूडियो के अलावा एक ही समय में चल रहे अन्य प्रोग्राम हो सकते हैं ... यह क्वाड कोर या ऑक्टल कोर इत्यादि का उपयोग करने का मुद्दा है ... – jcpennypincher

1
बात पर विचार करना अपने विकास के वातावरण में वर्चुअलाइजेशन के आपके उपयोग होगा पर

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

6

सीपीयू भूल जाओ। एकमात्र सबसे बड़ा प्रदर्शन बढ़ावा देने से आप अपनी मशीन को सॉलिड स्टेट ड्राइव दे सकते हैं। रिजर्वर और इंटेलिजेंस जैसे संकलन और पृष्ठभूमि प्रक्रियाएं इतनी आईओ गहन हैं कि दृश्य स्टूडियो के साथ मुख्य बाधा आईओ है। मैंने कभी भी वीएस को सीपीयू से बाहर नहीं देखा है, भले ही मेरे पास सिंगल, डुअल क्वाड या 8 कोर हैं, जैसा कि अब मैं करता हूं।

अद्यतन आपकी टिप्पणी @Erx के लिए धन्यवाद ... मैं सही प्रक्रियाओं के बारे में कोई विशेषज्ञ नहीं हूं। हालांकि, अगर आप सोचते हैं कि कंपाइलर कितने पढ़ता है, तो बस एक परियोजना को संकलित करने के लिए, आप आईओ हिट से आश्चर्यचकित नहीं होंगे। विजुअल स्टूडियो मेमोरी में फाइलें रख सकता है, लेकिन क्या आपने देखा है कि जब आप कोई प्रोजेक्ट बनाते हैं और आपके पास सहेजे गए परिवर्तन नहीं होते हैं, तो बिल्ड निर्माण से पहले फ़ाइलों को सहेजा जाता है? यह मुझे बताता है कि msbuild संकलक सहेजी गई फ़ाइलों तक पहुंच रहा है और यह इन-मेमोरी फ़ाइलों का उपयोग नहीं करता है। अगर आपने वीएस में एक फाइल बंद कर दी है, तो इस बात की कोई गारंटी नहीं है कि फाइल अभी भी स्मृति में है क्योंकि इसे वीएस के मेमोरी मैनेजमेंट द्वारा साफ किया गया हो सकता है। तो यह समझ में आता है कि संकलक को एक साफ प्रति मिलती है। यह कई सैकड़ों या हजारों फाइलें हो सकती है। फिर संकलित आउटपुट का लेखन है, NuGet पैकेज पढ़ता है, ConfigGen स्क्रिप्ट्स (http://configgen.codeplex.com/)। आपको चित्र मिल जाएगा।

इसके अलावा, मैंने कहीं पढ़ा है कि इंटेलिजेंस फ़ाइल सिस्टम में बहुत सी पढ़ाई और लेखन करता है, इसलिए यदि आपके पास धीमी एचडीडी है तो प्रदर्शन पर एक अतिरिक्त हिट होने जा रहा है।

रिशेर्पर जैसे प्लगइन्स भी फ़ाइल सिस्टम को दबाते हैं, खासकर पृष्ठभूमि संकलन के साथ। मैं कभी भी रिशेर्पर को हटाने का समर्थन नहीं करता क्योंकि यह उपलब्ध सर्वोत्तम उत्पादकता उपकरण है। तो मैं दोहरा दूंगा, अगर आप उपलब्ध कोरों की नवीनतम संख्या और रैम की विशाल मात्रा के साथ एक फैंसी नई प्रणाली पर छेड़छाड़ कर चुके हैं, तो एक नए एसएसडी पर कुछ सौ डॉलर/£ 100 खर्च करें। आपको पछतावा नहीं होगा।

इसके अलावा, इस मामले पर स्कॉट गुथरी के बग को देखें http://weblogs.asp.net/scottgu/archive/2007/11/01/tip-trick-hard-drive-speed-and-visual-studio-performance.aspx विशेष रूप से, मैं उद्धृत करता हूं: "... जहां अतिरिक्त सीपीयू प्रोसेसर की गति को अतिरिक्त डिस्क में निवेश करने के पक्ष में आवश्यक व्यापार खरीदना आवश्यक है"। अगर किसी को पता होना चाहिए कि आप विजुअल स्टूडियो डेवलपमेंट टीम के प्रमुख को जानना चाहते हैं।

+0

वाह, वास्तव में? मुझे इसके बारे में कोई जानकारी नहीं थी। सुना है कि एसएसडी एक बड़ा अंतर कर सकते हैं लेकिन समझ में नहीं आया क्यों, क्योंकि वीएस यूआई में एक अंतर बनाने की हार्ड ड्राइव की मेरी समझ केवल तभी बड़ी परियोजनाओं या कुछ खोलने पर होगी ... लेकिन मुझे लगता है कि आप जो कह रहे हैं वह समझ में आता है, इसलिए स्पष्टीकरण के लिए, स्मृति के अनावश्यक मात्रा का उपभोग करने के बजाय एचडी पर कई यूआई और कोड आधारित चर, सूचियों और आइटम डेटा स्टोर करते हैं, क्या यह सही है? मैं इस पर अनजान हूं और जितना चाहें उतना जानना चाहूंगा, धन्यवाद दोस्त (उपरोक्त)। –

+0

यह वास्तव में सच नहीं है, सीपीयू मुख्य कारक प्रतीत होता है! मैं अनुभव से यह कहता हूं - मैंने 1.6 गीगा कोर i5 + एसएसडी मशीन पर संकलन और हार्ड ड्राइव के साथ 3 गीगा एथलॉन 64 एक्स 2 पर संकलन का समय लगाया। हार्ड ड्राइव के साथ एथलॉन मशीन लगभग 50% तेज है! – darklon

+2

मैंने जो कहा वह सच था, विशेष रूप से सबसे बड़ा प्रदर्शन बढ़ावा एक तेज एचडीडी होगा। यह कहना नहीं है कि एक तेज सीपीयू बिल्कुल मदद नहीं करेगा। बेशक यह होगा। लेकिन आपकी हिरन के लिए बैंग के मामले में, एसएसडी के लिए जाओ। इसके अलावा, आप इस तरह की तुलना नहीं कर रहे हैं। दोनों मशीनों में एक ही एचडीडी के साथ गति की तुलना करने का प्रयास करें। और फिर दोनों मशीनों में एक ही एसएसडी। और फिर अपनी गणना करें। आप पाएंगे कि दोनों परीक्षणों में, एसएसडी बहुत बेहतर प्रदर्शन करेगा –

1

प्रश्न VS2012 का उल्लेख करने के लिए संपादित किया गया है, लेकिन अधिकांश उत्तर जारी किए जाने से पहले की तारीखें हैं। वीएस2012 ने standard feature के रूप में समांतर बिल्डों की शुरुआत की। इसलिए, सक्षम सीपीयू पर अधिक कोर का आसानी से उपयोग करने का बेहतर अवसर है। हालांकि जैसा कि पहले उल्लेख किया गया है, यदि आप छोटे संकलन के समय चाहते हैं तो एक तेज हार्ड ड्राइव आवश्यक है, अधिमानतः एक उच्च अंत एसएसडी।

हार्ड ड्राइव या सीपीयू बेहतर निवेश है या नहीं, इसके बारे में कुछ बहस है, लेकिन किसी भी सुधार में इसका कोई बड़ा प्रभाव होना चाहिए। ज्यादातर बाजारों में डेवलपर समय की लागत हार्डवेयर लागत से कहीं अधिक है, इसलिए आम तौर पर आप सबसे अच्छे सीपीयू और हार्ड ड्राइव को खरीदने से सबसे अच्छे हैं। कारक के लिए एकमात्र चीज वे बहुत ही कम अंत में रिटर्न कम करने का कानून है।

समानांतर के बारे में लेख से उद्धरण VS2012 पर बनाता है: "। समानांतर परियोजना की अधिकतम संख्या बनाता है"

विजुअल स्टूडियो 2010 के लिए एक विकल्प शामिल यद्यपि किसी भी प्रतिबंध का कोई संकेत नहीं था, यह आईडीई विकल्प केवल सी ++ परियोजनाओं के लिए काम करता था। सौभाग्य से, यह प्रतिबंध अब विजुअल स्टूडियो 11 पर लागू नहीं होता है। इसके बजाय, अब अन्य भाषाओं में समांतर बिल्डों के लिए पूर्ण समर्थन भी है। यह देखने के लिए, एक ही समय में प्रक्रिया एक्सप्लोरर की प्रतिलिपि चलाएं के साथ एक समाधान कई परियोजनाएं निर्माण कर रही हैं।आप देखेंगे कि एकाधिक MSBuild उदाहरण बनाए गए हैं - जैसा कि समानांतर परियोजना के "अधिकतम संख्या " में निर्दिष्ट है।

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