Frage

Im Grunde möchte ich wissen, ob die Visual Studio IDE und / oder Compiler 2010 und 2012 war geschrieben Verwendung eines Multi-Core-Umgebung zu machen (i verstehen wir Multi-Core-Umgebungen in allen Versionen ausrichten können mit Parallelität, aber das ist nicht meine Frage).

Ich versuche zu entscheiden, wenn ich einen höheren Takt Dual-Core oder einen niedrigeren Takt Quad-Core erhalten soll, wie ich versuchen will und herauszufinden, welchen Prozessor gibt mir die absolut bestmögliche Erfahrung mit Visual Studio 2010 oder 2012 ( v11) (ide und Hintergrund-Compiler).

Wenn sie den wichtigsten Abschnitt (Hintergrund-Compiler und andere ide Aufgaben) in einem Kern laufen, dann wird der Kern schneller abgeschnitten, wenn ein Quad-Core ausgeführt wird, vor allem, wenn Hintergrund-Compiler die schwerste Aufgabe ist, würde ich das vorstellen wäre es schwierig, in mehr als ein Prozess zu trennen, so dass selbst wenn es mehrere Kerne verwendet werden Sie vielleicht noch besser für einen höheren Takt CPU gehen, wenn die Mehrheit der Verarbeitung noch in einem Kern auftreten (dh des bedeutendsten Teil gebunden ist, die VS-Umgebung).

ich ein VB Programmierer bin, haben sie große Leistungsverbesserungen in 2010 und 2012, congrats (mit Ausnahme des schrecklichen Graustufendesign und die Groß überall) gemacht, aber ich würde gerne in der Lage sein, nahtlos zu verwenden VS ... jemand irgendwelche Ideen? Auch ich bin nicht allzu besorgt über Lösung Ladezeit, da ich nur Code ein Projekt auf einmal.

Danke.

War es hilfreich?

Lösung

Ich glaube, Sie wahrscheinlich besser sind mit einem höheren Takt Dual-Core-off. Ich denke, VS (und die meisten Anwendungen heute) noch nicht über große Vorteile von Multi-Threading nehmen. VS kann laufen Dutzende von Fäden, sondern nur eine Teilmenge von Operationen wirklich nutzen sie gut, denke ich. Eine ganze Menge der VS-Implementierung ist C ++ COM-Komponenten, die auf dem STA Thread ausgeführt, so dass der UI-Thread macht den Großteil der Arbeit in vielen Szenarien. Die Tatsache, dass viele Teile des VS-Shell in verwaltetem Code als Teil VS2010 neu geschrieben wird dazu beitragen, viel mehr dieser alten Komponente STA Abhängigkeiten zu brechen. Wie andere erwähnt haben, einige der wichtigsten Szenarien (eine große Lösung, wie Gebäude) tun bereits die Vorteile von mehreren Kernen nehmen (MSBuild funktioniert gut parallel), so dass, wenn diejenigen dominieren, was Ihnen wichtig sind, dann mehr Kerne ist besser. Aber für Dinge wie IDE UI-Nutzung und Hintergrund Kompilierung, ich denke, die meisten von ihnen sind immer noch meist Single-Thread. Ich habe eine Box Quad-Core bei der Arbeit, und ich selten VS2008 Ressourcen nutzen mehr als 25% meiner CPU sehen. (Ich habe nicht genug VS2010 ernsthaft verwendet zu wissen, welche Szenarien sind besser, obwohl ich weiß, zumindest ein paar sind besser.)

Andere Tipps

MSBuild unterstützt Bauvorhaben parallel. Visual Studio 2008 nutzt die Vorteile von mehreren Prozessoren kompilieren Projekte .

Wie andere Menschen festgestellt haben, MSVS 2010 in der Tat mehrere Prozesse für die Erstellung verwenden. Obwohl, wandelt es nicht automatisch in stark reduzierter Übersetzungszeit. Ich habe gerade einen Test mit einem mittleren Größe C ++ Projekt (ca. 200 Dateien) gemacht. Es gebaut schneller auf Dual Core mit 3,4 GHz als Quad-Core auf 2,8 GHz. Obwohl Dual Core-Prozessor ist billiger. (Systeme sind praktisch identisch mit 4GiB DDR2 Ram jeder). Ich muss auch beachten, dass bei der Erstellung Dual Core Prozessor bis zu 70% max geladen wurde. Wie Sie sehen können, wenn VS2010 nicht vollständig sogar 2 Kerne laden kann, was ist der Punkt, der mit 4 oder mehr?

Vergessen CPU. Die größte Leistungssteigerung Sie Ihre Maschine geben kann, ist ein Solid-State-Laufwerk. Kompilierung und Hintergrundprozesse wie ReSharper und Intellisense sind so IO intensiv, dass der Hauptengpass mit Visual Studio IO ist. Ich habe noch nie VS max aus Sicht der CPU, unabhängig davon, ob ich hatte Single, Dual-Quad oder 8 Cores wie ich jetzt.

Aktualisieren Danke für Ihren Kommentar @Erx ... Ich bin kein Experte über die genauen Prozesse, die auf gehen. Allerdings, wenn Sie darüber nachdenken, wie viele liest der Compiler macht gerade ein Projekt zu kompilieren, werden Sie nicht vom IO überrascht getroffen. Visual Studio kann Dateien im Speicher halten, aber haben Sie bemerkt, dass, wenn Sie ein Projekt erstellen, und Sie haben nicht gespeicherte Änderungen, werden die Dateien gespeichert, bevor der Build tritt weg? Das sagt mir, dass die msbuild Compiler die gespeicherten Dateien zugreifen und sie verwenden nicht die In-Memory-Dateien. Wenn Sie eine Datei in VS geschlossen haben, gibt es keine Garantie, dass die Datei noch in Erinnerung ist, wie es von VS der Speicherverwaltung gereinigt worden sein könnte. So macht es Sinn, dass der Compiler eine saubere Kopie erhält. Dies kann viele Hunderte oder Tausende von Dateien sein. Dann gibt es das Schreiben von kompilierte Ausgabe, NuGet Paket liest, ConfigGen Skripte ( http://configgen.codeplex.com/). Sie erhalten das Bild.

Auch ich habe irgendwo gelesen, dass Intellisense viel Lesen und Schreiben in das Dateisystem der Fall ist, so dass ein zusätzlicher sein Hit auf die Leistung geht, wenn Sie eine langsame Festplatte haben.

Plugins wie ReSharper traf auch auf das Dateisystem, insbesondere mit Hintergrund Kompilierung. Ich würde nie zu entfernen ReSharper befürworten, da es das beste Produktivitäts-Tool zur Verfügung. So wird wiederhole ich, wenn Sie mit der neuesten Anzahl der verfügbaren Cores und riesige ammounts RAM auf einem schicken neuen System heraus spritzte haben, verbringen Sie ein paar hundert Dollar / £ 100 auf einem neuen SSD. Sie werden es nicht bereuen.

Überprüfen Sie auch, Scott Guthrie bog auf die Frage http://weblogs.asp.net/scottgu/archive/2007/11/01/tip-trick-hard-drive-speed-and-visual-studio- performance.aspx Insbesondere ich zitiere: „... wo notwendig Trade-off Zukauf von CPU Prozessorgeschwindigkeit für eine schnellere Festplatte zu investieren statt“. Wenn jemand sollte wissen, dass Sie den Kopf des Visual Studio Development Team erwarten würde kennen.

Auf Sache zu prüfen, würde die Nutzung der Virtualisierung in Ihrer Entwicklungsumgebung sein. Virtualisierung macht definitiv Verwendung mehrerer Kerne, ob oder nicht Visual Studio tut. Ich habe mehrere Entwicklungsumgebungen mit jeweils eigener VM.

Die Frage wurde bearbeitet VS2012 zu erwähnen, aber die meisten Antworten reichen zurück bis vor das veröffentlicht wurde. VS2012 eingeführt parallel als rel="nofollow">. So gibt es eine bessere Möglichkeit, auf einfache Weise mehr Kerne auf einer leistungsfähigen CPU zu nutzen. Doch wie bereits erwähnt, wenn Sie kurze Kompilierungszeiten eine schnelle Festplatte ist von wesentlicher Bedeutung, vorzugsweise ein High-End-SSD.

wollen

Es gibt einige Diskussionen darüber, ob die Festplatte oder die CPU die bessere Investition ist, aber entweder zu verbessern sollten einen großen Einfluss haben. In den meisten Märkten die Kosten für die Entwickler Zeit weit schwerer wiegt als Hardware-Kosten so in der Regel sind Sie am besten aus den besten CPU und Festplatte kaufen, können Sie. Das einzige, was Faktor in dem Gesetz der Rückkehr an sich sehr oberes Ende zu verringern.

Zitat aus dem Artikel über parallel baut auf VS2012:

  

Visual Studio 2010 enthalten eine Option für die „maximale Anzahl paralleler   Projekt baut.“Zwar gibt es keinen Hinweis auf eine Einschränkung war,   Diese IDE-Option funktioniert nur für C ++ Projekte. Glücklicherweise ist diese   Einschränkung gilt nicht mehr für Visual Studio 11. Vielmehr gibt es jetzt   volle Unterstützung für parallele Builds als auch in anderen Sprachen. Sehen   dies, um eine Kopie von Process Explorer zugleich eine Lösung läuft mit   zahlreiche Projekte bauen. Sie werden feststellen, dass mehrere MSBuild sehen   Instanzen erstellt - so viele wie in der „maximalen Anzahl angegeben   von parallelem Projekt baut. "

scroll top