كان Visual Studio 2008 أو 2010 أو 2012 (v11) كتب إلى استخدام متعدد النوى?

StackOverflow https://stackoverflow.com/questions/1814015

سؤال

أساسا أنا أريد أن أعرف إذا كان visual studio IDE و/أو المترجم في 2010 و 2012 مكتوب استخدام متعدد الأساسية البيئة (أنا أفهم أننا يمكن أن تستهدف متعددة النواة البيئات في جميع إصدارات استخدام التوازي ، ولكن ليس هذا هو سؤالي).

أنا أحاول أن تقرر إذا كان يجب أن أحصل على أعلى الساعة ثنائي النواة أو أقل على مدار الساعة رباعية النواة, كما أريد أن محاولة معرفة المعالج الذي سوف تعطيني المطلقة أفضل تجربة ممكنة مع Visual Studio 2010 أو 2012 (v11) (ide و الخلفية المترجم).

إذا كان يتم تشغيل القسم الأكثر أهمية (الخلفية مترجم وغيرها من ide المهام) في نواة واحدة ، ثم الأساسية سوف تحصل على قطع أسرع إذا كان تشغيل رباعية النواة, خاصة إذا الخلفية المترجم هو أثقل مهمة ، وأنا أتصور أن هذا سيكون من الصعب منفصلة في أكثر من عملية واحدة ، حتى لو كان يستخدم متعدد النوى قد يكون لا يزال أفضل حالا الذهاب أعلى على مدار الساعة وحدة المعالجة المركزية إذا كانت الغالبية العظمى من المعالجة لا تزال لا بد أن تحدث في نواة واحدة (أيأهم جزء من مقابل البيئة).

أنا مبرمج VB, لقد تحسن أداء رائعا في 2010 و 2012, تهاني (باستثناء البشعة الرمادي تصميم الأحرف الكبيرة في كل مكان), ولكن أنا أحب أن تكون قادرة على استخدام VS بسلاسة...أي شخص لديك أي أفكار ؟ أيضا, أنا لست قلقا جدا بشأن حل وقت التحميل ، كما رمز فقط مشروع واحد في وقت واحد.

شكرا

هل كانت مفيدة؟

المحلول

وأعتقد أنك ربما أفضل حالا مع ثنائي النواة مدار الساعة أعلى. أعتقد VS (ومعظم التطبيقات اليوم) لا بعد اتخاذ مزايا كبيرة من خيوط المعالجة المتعددة. قد يكون VS العشرات من المواضيع على التوالي، ولكن فقط مجموعة فرعية من عمليات حقا الاستفادة منها بشكل جيد على ما أعتقد. وهناك الكثير من تنفيذ VS هو مكونات C ++ COM التي تعمل على موضوع STA، وبالتالي فإن موضوع UI يفعل الجزء الأكبر من العمل في العديد من السيناريوهات. وحقيقة أن العديد من القطع من قذيفة VS يتم كتابتها في التعليمات البرمجية المدارة كجزء من VS2010 تساعد في كسر الكثير من هذه التبعيات مكون STA القديمة. كما ذكر آخرون، بعض السيناريوهات الرئيسية (مثل بناء حلا كبير) القيام بالفعل الاستفادة من النوى المتعددة (MSBuild يعمل بشكل جيد في نفس الوقت)، حتى لو كانت تلك الهيمنة ما يهمك، ثم المزيد من النوى هو أفضل. ولكن لأشياء مثل استخدام IDE UI وتجميع الخلفية، وأعتقد أن معظم هذه لا تزال في معظمها أحادية الخيوط. لقد مربع رباعية النوى في العمل، وأنا نادرا ما نرى VS2008 استخدام أكثر من 25٪ من موارد وحدة المعالجة المركزية بلدي. (أنا لم تستخدم VS2010 بما فيه الكفاية بشكل جدي لمعرفة أي سيناريوهات هي أفضل، على الرغم من أنني أعلم ما لا يقل عن عدد قليل من هم أفضل).

نصائح أخرى

وMSBuild تدعم مشاريع بناء في نفس الوقت. البصرية ستوديو 2008 يستفيد من المعالجات متعددة ل تجميع مشاريع .

وكما لاحظ الآخرين، MSVS 2010 لا بل تستخدم عدة عمليات لتجميعها. وعلى الرغم من ذلك، فإنه لا يحول تلقائيا إلى خفض بشدة وقت تجميع. لقد جعلت من مجرد اختبار مع مشروع المتوسطة الحجم C ++ (حوالي 200 الملفات). انها بنيت بشكل أسرع على ثنائي النواة 3.4 غيغاهرتز من رباعية النواة في 2.8GHZ. على الرغم من أن ثنائي النواة المعالج هو أرخص. (النظم هي عمليا متطابقة مع 4GiB DDR2 رام لكل منهما). يجب أن نلاحظ أيضا، أنه خلال تجميع معالج ثنائي النواة تم تحميل 70٪ كحد أقصى. كما ترون، إذا VS2010 لا يمكن أن يتم تحميلها بشكل كامل حتى 2 النوى، ما هي الفائدة من وجود 4 أو أكثر من ذلك؟

تنسى وحدة المعالجة المركزية.أكبر زيادة في الأداء يمكنك إعطاء الخاص بك آلة محرك أقراص الحالة الصلبة.تجميع العمليات الخلفية مثل Resharper و التحسس حتى IO المكثفة التي عنق الزجاجة الرئيسي مع visual studio IO.أنا لم أر أبدا VS الحد الأقصى من وحدة المعالجة المركزية ، بغض النظر عما إذا كان لدي واحدة, مزدوجة رباعية أو 8 النوى كما أفعل أنا الآن.

التحديث شكرا لتعليقك @Erx...أنا لست خبيرا عن العمليات الدقيقة التي تسير على.ومع ذلك ، إذا كنت تفكر في كم يقرأ المترجم يجعل مجرد تجميع المشروع لن تفاجأ IO ضرب.Visual Studio قد عقد ملفات في الذاكرة ولكن هل لاحظت أنه عند بناء المشروع لديك تغييرات غير محفوظة ، يتم حفظ الملفات أولا قبل بناء ركلات قبالة ؟ هذا يقول لي أن msbuild المترجم هو الوصول إلى الملفات المحفوظة التي لا تستخدم في الذاكرة الملفات.إذا كنت قد أغلقت ملف في مقابل ، ليس هناك ما يضمن أن الملف لا يزال في الذاكرة كما أنه قد تم تنظيفها من قبل VS إدارة الذاكرة.لذلك فمن المنطقي أن المترجم يحصل على نسخة نظيفة.هذا يمكن أن يكون عدة مئات أو آلاف الملفات.ثم هناك كتابة جمعت الإخراج ، NuGet حزمة يقرأ ، ConfigGen البرامج النصية (http://configgen.codeplex.com/).يمكنك الحصول على الصورة.

كما أنني قرأت في مكان ما أن التحسس يفعل الكثير من القراءة والكتابة إلى ملف النظام, بحيث سيكون وأضاف ضرب على الأداء إذا كان لديك بطء الأقراص الصلبة.

الإضافات مثل Resharper أيضا ضرب نظام الملفات ، خاصة مع الخلفية تجميع.لن ندافع إزالة Resharper كما هو أفضل أداة الإنتاجية المتاحة.لذا لن أكرر إذا كنت قد رشت على الهوى النظام الجديد مع أحدث عدد النوى ضخمة ammounts من ذاكرة الوصول العشوائي ، تنفق بضع مئات من الدولارات / 100 جنيه على SSD.لن تندم على ذلك.

أيضا, تحقق من سكوت غوثري هذا المستنقع على الموضوع http://weblogs.asp.net/scottgu/archive/2007/11/01/tip-trick-hard-drive-speed-and-visual-studio-performance.aspx على وجه التحديد, وأقتبس:"...حيث اللازمة مقايضة شراء إضافية وحدة المعالجة المركزية سرعة المعالج في صالح الاستثمار في أسرع القرص بدلا من ذلك".إذا كان أي شخص يجب أن يعرف تتوقعون رئيس Visual Studio فريق التطوير أن تعرف.

في شيء للنظر أن يكون استخدامك لالافتراضية في بيئة التطوير الخاصة بك. الافتراضية بالتأكيد يجعل استخدام متعددة النوى أم لا البصرية ستوديو لا. لدي بيئات التطوير متعددة ولكل منها الخاصة VM لها.

تم تحريرها والسؤال الذي ذكر VS2012، ولكن معظم الإجابات يعود تاريخها إلى قبل أن أطلق سراحه. قدم VS2012 يبني بالتوازي باعتباره معيار ميزة . لذلك، هناك فرصة أفضل للاستفادة بسهولة المزيد من النوى على وحدة المعالجة المركزية قادرة. ولكن كما ذكرنا سابقا، إذا كنت تريد الأوقات قصيرة الترجمة القرص الصلب بسرعة أمر ضروري، ويفضل أن يكون SSD الراقية.

وهناك بعض الجدل بشأن ما إذا كان القرص الصلب أو وحدة المعالجة المركزية هو أفضل استثمار، ولكن ينبغي تحسين إما يكون لها تأثير كبير. في معظم الأسواق تكلفة الوقت المطور يفوق بكثير الأجهزة تكلف لذلك عادة ما تكون أفضل حالا شراء أفضل وحدة المعالجة المركزية والقرص الصلب يمكنك. الشيء الوحيد الذي لعامل في هو قانون تناقص الغلة في أنها أعلى جدا نهاية.

اقتباس من المقال فيما يتعلق بالتوازي يبني على VS2012:

<اقتباس فقرة>   شملت

والبصرية ستوديو 2010 خيارا ل"الحد الأقصى لعدد مواز   ويستند المشروع. "رغم عدم وجود دليل على أي قيود،   هذا الخيار IDE عملت فقط لمشاريع C ++. لحسن الحظ، وهذا   تقييد لم يعد ينطبق إلى Visual Studio 11. بدلا من ذلك، هناك الآن   الدعم الكامل لبالتوازي يبني في لغات أخرى أيضا. لعرض   بذلك، قم بتشغيل نسخة من عملية اكسبلورر في الوقت نفسه الى حل مع   العديد من المشاريع هو بناء. سترى أن MSBuild متعددة   يتم إنشاء الحالات - يصل الى كما هو محدد في "الحد الأقصى   من يبني مشروع مواز. "

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top