Microsoft Compiler langsamer als gcc?
-
Ich habe mit SDL ein Programm geschrieben das ein Apfelmännchen berechnet. Jetzt ist mir aufgefallen dass es, wenn es mit gcc kompiliert wird, merklich schneller läuft. Ich habe jeweils mit /Ox bzw. -O3 kompiliert. Gibt es eine Möglichkeit, noch mehr aus dem Microsoft-Compiler heraus zu holen? Oder ist er dem gcc tatsächlich unterlegen?
-
hoffentlich hast du es nicht noch im debug modus komiliert. sonst kann man beim ms compiler auch einiges einstellen.
-
Ohne genaue Compiler-Einstellungen zu nennen, ist es schwer zu beantworten... auch solltest Du das SP1 installiert haben.
-
Und selbst wenn er in einem bestimmten Szenario, auf einer bestimmten Plattform für dein Mini-Progrämchen länger brauchen würde: Und? Das hat absolut keine Aussage.
-
Dies sind die Einstellungen:
/O2 /Ob2 /Ot /FD /EHsc /MD /Fo"Release\" /Fd"Release\vc80.pdb" /nologo /c /TP /errorReport:prompt
Das SP1 macht keinen Unterschied.
Die Frage ist natürlch: Sollte der Microsoft-Compiler effizienteren Code generieren? Ich hätte es erwartet.
Ich frage mich ob der unterschied in der Implementierung von <complex> liegt.
-
Stefan schrieb:
Die Frage ist natürlch: Sollte der Microsoft-Compiler effizienteren Code generieren?
Nein, wieso?
Ich frage mich ob der unterschied in der Implementierung von <complex> liegt.
Kann gut sein. Die libstdc++ implementiert complex wenn möglich über _Complex (eigentlich aus C99, aber beim GCC auch in C++ verfügbar), was vermutlich dazu führen kann, dass der Compiler besser optimiert.