Visual Studio: Kompilieren mit MultiCore-CPU

Windowsspezifische Probleme, WinAPI, conio.h
Antworten
Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8453
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Visual Studio: Kompilieren mit MultiCore-CPU

Beitrag von Xin » Fr Sep 10, 2010 11:26 pm

Ich habe jetzt, da mein Rechner endlich läuft, Visual Studio installiert.

Nun bin ich mal leicht entsetzt...
Ich bin von einem AMD Athlon64 3200 auf einen i7 860 umgestiegen.
Mein Projekt kompiliert nun auf Linux mit make/gcc statt 48 Sekunden in knapp unter 5 Sekunden. So habe ich mir das vorgestellt. Visual Studio 2008 Express auf dem AMD brauchte etwa 70 Sekunden. Das soeben installierte Visual Studio 2010 Express genehmigt sich gemütliche 56 Sekunden.

Der Unterschied mit dem AMD64 fand ich schon nicht sonderlich witzig, aber jetzt hakts. Der i7 ist ein Quadcore, heißt 8 Threads kompilieren gleichzeitig. Und hier kommen wir zu meiner Frage: Weiß jemand, wie bzw. ob ich das Visual Studio Express verklickern kann? ^^
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Benutzeravatar
cloidnerux
Moderator
Beiträge: 3073
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: Visual Studio: Kompilieren mit MultiCore-CPU

Beitrag von cloidnerux » Sa Sep 11, 2010 10:51 am

Mit google gefunden:
http://msdn.microsoft.com/en-us/library/bb385193.aspx
http://www.todobits.es/mpcl.html
und dann stand in nem Forum noch was von IcrediBuild, was ich mir aber nicht näher angesehen habe.
Redundanz macht wiederholen unnötig.
quod erat expectandum

Benutzeravatar
fat-lobyte
Beiträge: 1398
Registriert: Sa Jul 05, 2008 12:23 pm
Wohnort: ::1
Kontaktdaten:

Re: Visual Studio: Kompilieren mit MultiCore-CPU

Beitrag von fat-lobyte » Sa Sep 11, 2010 10:56 am

Mit NMake geht das glaube ich nicht,
bei der IDE weiß ichs nicht (geht aber sicher irgendwie).

Allerdings gibts da so ein Teil, das nennt sich "MSBuild", und baut Visual Studio Projekte von der Kommandozeile. Ich glaube es ist sogar das Executable das von der IDE zum bauen benutzt wird.

Aufruf:

MSBuild.exe [Switches] [ProjectFile]

Project file ist entweder die ganze Solution (.sln) oder einzelne Projects (.proj) daraus.
Es gibt nen Switch, der heißt /maxcpucount, oder kurz /m

Also:

Code: Alles auswählen

cd X:\Projekt\Pfad
msbuild /maxcpucount:8 deinprojekt.sln
Übrigens, ein genauerer Blick auf MSBuild.exe lohnt sich, ich finde es ist eine sehr gute Alternative wenn man zu faul ist die ganze IDE zu öffnen und herumzuklicken. Es gibt diverse Optionen, z.B. Target angeben und so weiter:

http://msdn.microsoft.com/en-us/library/ms164311.aspx

mfg, fat-lobyte
Haters gonna hate, potatoes gonna potate.

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8453
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Visual Studio: Kompilieren mit MultiCore-CPU

Beitrag von Xin » Fr Sep 17, 2010 1:43 pm

cloidnerux hat geschrieben:Mit google gefunden:
http://msdn.microsoft.com/en-us/library/bb385193.aspx
Die Lösung habe ich schlussendlich auch umgesetzt.

Von 56 Sekunden bin ich damit runter auf 10 Sekunden. Das ist immernoch doppelt so lange, wie auf Linux mit Make/GCC4, aber schneller als unter CygWin mit Make/GCC3 (12 Sekunden). CodeLite mit MinGW war schneller: 8 Sek.

Vielen Dank für die Tipps :-)
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Antworten