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.


Anmelden zum Antworten