Optimizer-Performance (C++): VS 2005 vs. VS 2010. Habt ihr mal Benchmarks gemacht?
-
Aus diversen Gründen arbeite ich hier am Arbeitsplatz noch mit VS 2005. Mein momentanes Projekt ist sehr Arithmetik-schwer (d.h. wenig Branches im ganzen Code, aber viel +,-,*), und wenn ich den Assembler-Output von so manchen Sachen anschaue (im Release-Modus mit eingebauten Debug-Symbolen natürlich), lässt das was der Optimizer von VS 2005 so ausspuckt an einigen Stellen schon noch Optimierungspotential zu (teils sehr viel, imo nutzt er z.B. Register oft nicht sehr gut aus).
Bevor ich jetzt aber anfange in inline-Assembler zu programmieren oder SIMD-Unterstützung einzubauen (relativ großer Aufwand), gäbe es noch die Möglichkeit, das ganze mal durch VS 2010 zu jagen.
Nachteil: Ich müsste die ganze Entwicklungsumgebung (d.h. alle benutzten Abhängigkeiten, etc.) auf VS 2010 umbauen, was einige Stunden in Anspruch nehmen würde. Prinzipiell aber viel weniger Stunden, als wenn ich inline-Assembler programmiere oder SIMD-Vektorisierung einbaue.
Wenn sich aber eurer Erfahrung nach da bis VS 2010 nicht viel getan hat, dann lohnt sich das natürlich gar nicht und ich fange gleich mit SIMD an.
Also, wie sind da eure Erfahrungen? Habt ihr vielleicht schon detaillierte Benchmarks betrieben?
-
Ich spiele mal Google:
http://www.g-truc.net/post-0369.html
http://stackoverflow.com/questions/5559160/resulting-exe-speed-for-c-under-vs2005-vs2008-vs2010-compilers
-
Ich würde mir an deiner Stelle gleich VS 2012 anschauen, welches einen Auto Vectorizer und Auto Parallelizer mitbringt...
-
dot schrieb:
Ich würde mir an deiner Stelle gleich VS 2012 anschauen, welches einen Auto Vectorizer und Auto Parallelizer mitbringt...
Das ist in einer professionellen Umgebung leider nicht so ohne weiteres möglich. Für dich ist das vielleicht dank Piratenrabatt kostenlos, aber mein Projekt wird am Ende verkauft

-
Ich bekomm VS 2012 natürlich dank Studentenrabatt kostenlos. Aber es gibt auch eine kostenlose Express Edition, die zumindest zum Ausprobieren, wohl erstmal reichen sollte...
-
arithmetiker schrieb:
Das ist in einer professionellen Umgebung leider nicht so ohne weiteres möglich.
In deiner vielleicht nicht. In vielen anderen schon. Stichwort MSDN Abo.
-
arithmetiker schrieb:
Für dich ist das vielleicht dank Piratenrabatt kostenlos,
Schließe nicht immer von dir auf andere, nur weil der Großteil deiner privaten SW Sammlung per Piratenrabatt erworben wurde.
-
_matze schrieb:
arithmetiker schrieb:
Das ist in einer professionellen Umgebung leider nicht so ohne weiteres möglich.
In deiner vielleicht nicht. In vielen anderen schon. Stichwort MSDN Abo.
Hm? Wir könnten hier also einfach für mich und die anderen 500 Entwickler MSDN Abos kaufen und damit unsere Software implementieren und vertreiben? Das wäre mir neu.
Naja, aber selbst wenn das gehen würde, wäre das hier wohl nichts. Haben ne verdammt hohe Mitarbeiterfluktuation (ca. 2/3 der Mitarbeiter hier sind nur temporär für Praktikas, Bachelor/Master/Doktorarbeiten da).
-
arithmetiker schrieb:
Hm? Wir könnten hier also einfach für mich und die anderen 500 Entwickler MSDN Abos kaufen und damit unsere Software implementieren und vertreiben?
Wenn du für 500 Mitarbeiter Abos hast, kannst du selbstverständlich SW entwickeln und vertreiben. Verwechselst du das gerade mit MSDN AA?
Keine Ahnung, wie die Lizensierung bei 500 Entwicklern aussieht. Aber wenn ihr auch 500 Visual Studios kauft...
-
Nehmt GCC.
*Fluchtmodus aktiviert*
-
_matze schrieb:
arithmetiker schrieb:
Hm? Wir könnten hier also einfach für mich und die anderen 500 Entwickler MSDN Abos kaufen und damit unsere Software implementieren und vertreiben?
Wenn du für 500 Mitarbeiter Abos hast, kannst du selbstverständlich SW entwickeln und vertreiben. Verwechselst du das gerade mit MSDN AA?
Keine Ahnung, wie die Lizensierung bei 500 Entwicklern aussieht. Aber wenn ihr auch 500 Visual Studios kauft...
Nö, soweit ich weiss werden keine ganzen 500 Visual Studio Lizensen gekauft. Da gibt es irgendwelche Sonderpreise, wenn man sehr große Pakete von denen kauft (ich glaub MS würde da zu viele potentielle Kunden verlieren wenn da jeder Millionenbeträge alle zwei Jahre hinlegen müsste).
Teuer ists natürlich trotzdem noch, weswegen wir noch keine VS 2012 Lizenz erworben haben. Von dem Abo, das du erwähnst, hab ich aber noch gar nichts gehört. Ich schau mal rum.
-
Ich kann dir nicht viel dazu sagen. Ich weiß nur, wir haben für unseren kleinen Laden so ein Abo (für 5 Leute, wenn ich mich nicht irre? Wir sind im Moment nur 3 feste Entwickler plus Azubis). Und wenn in der Zeit ein neues VS rauskommt, haben wir es halt auch. Darin enthalten ist auch andere MS-Software.
-
Trotzdem ist der Umstieg von 500 Entwicklern auf eine neue VS Version nicht mal eben so gemacht. Es gibt u.U. Abhängigkeiten verschiedenster Arten, die einen solchen Wechsel aus Kosten- und oder Zeitdruck unmöglich machen.
-
Natürlich geht das nicht immer so einfach, aus ganz anderen Gründen. Wir sind auch noch bei VS2010, und vor 5 oder 6 Jahren waren wir noch auf VS6-Stand.
Aber hier ging es ja erst mal nur um die Kostenfrage.
-
Wer sagt was von wegen, dass 500 Leute jetzt sofort ihre IDE wechseln müssen!? Du wolltest wissen, inwiefern ein aktuellerer Compiler deinen Code besser optimieren kann. Wenn du mit der Antwort "Hier ist ein aktueller Compiler, probiers aus" nicht zufrieden bist, dann kann man dir wohl nicht helfen...
-
dot schrieb:
Wer sagt was von wegen, dass 500 Leute jetzt sofort ihre IDE wechseln müssen!? Du wolltest wissen, inwiefern ein aktuellerer Compiler deinen Code besser optimieren kann. Wenn du mit der Antwort "Hier ist ein aktueller Compiler, probiers aus" nicht zufrieden bist, dann kann man dir wohl nicht helfen...
Du solltest lesen lernen. Nach VS 2012 wurde nicht gefragt.