Wie gut ist der C/C++ Compiler von Digital Mars?



  • Auf http://www.digitalmars.com/ kann man den C/C++ Compiler von Digital Mars downloaden.

    Weiß jemand wie gut der im Vergleich zu z.B. GCC/G++ oder VSC++ ist?

    1. Wie schnell compiliert er?
    2. Wie performant ist der dabei entstandene Code?
    3. Welche Standards erfüllt er ganz? (Kann er C99?)
    4. Ist er ABI Compatibel zu z.B. C++ Code vom GCC?
    5. Kann er inline Assembler und wenn ja wie? Assemblercode pro Zeile wie beim gcc üblich, oder als _asm{} Block, wie beim VSC++?
    6. Nutzt er MMX, SSE*, AVX usw?
    7. Wie gut kommt er mit Multicores zurecht?

    8. Was sind seine sonstigen Vor- und Nachteile?



  • probiere das hier erwähnte Beispiel:
    http://www.c-plusplus.net/forum/290177
    auf deinen Compilern und vergleiche die Ergebnisse.

    Das du die STL extra installieren musst sollte kein Problem sein - andere Compiler nutzen teilweise auch STL von Zulieferern. Die werden aber oft schon mit den Compilern installiert. Die STL Versionen auf der Digital-Seite haben schon Nachfolger. Die Nachfolger hab ich aber noch nicht mit dem dm laufen gesehen.

    C99 - da gibt es irgend wo im Netz Vergleichstabellen. Müsste testen, aber behaupte einfach, der gcc ist da weiter. Dürfte geringfügig mehr als der VS auf dem Gebiet können.
    Hier etwas Älteres:
    http://drdobbs.com/cpp/184405450?pgno=2
    Vielleicht findet jemand etwas aktuelleres?

    Aber welcher Compiler erfüllt schon exakt 100% irgend welche Standards. Meist werden die Standards zu 10 bis 120% erfüllt 😃
    D.h. sie können nur Teile eines Standards oder beherrschen auch darüber hinaus gehende Futures, die vielleicht bei einem der kommenden Normen angesagt sind.

    Wenn du viel Unterstützung aus dem Netz oder sonst beim Programmieren haben möchtest, nimm einen anderen Compiler.

    Ich hab den dm bei kleinen Projekten am Start für alternative Fehlermeldungen 😃
    Das hilft mir manchmal die Meldungen schneller zu verstehen.

    Mir fällt der Name nicht ein. War nicht einer der z.Z. angesagten C++ Gurus auch mal mit der Weiterentwicklung des Digital Mars beschäftigt? Alexand..? oder so?

    MfG f.-th.





  • f.-th. schrieb:

    Mir fällt der Name nicht ein. War nicht einer der z.Z. angesagten C++ Gurus auch mal mit der Weiterentwicklung des Digital Mars beschäftigt? Alexand..? oder so?

    MfG f.-th.

    Meinst du Andrei Alexandrescu? Der gleiche Typ, der auch das Buch "The D Programming Language" geschrieben hat?
    http://erdani.com/



  • Agner Fog sagt in seinem "Optimization Manual" kurz & knapp: "Digital Mars. This is a cheap compiler for 32-bit Windows, including an IDE. Does not optimize well." (Quelle: http://www.agner.org/optimize/optimizing_cpp.pdf, Abschnitt 2.5 "Choice of compiler")

    Mein persönlicher Eindruck ist, dass Walter Bright inzwischen sehr stark mit seiner eigenen Programmiersprache Digital Mars D beschäftigt ist, worunter der C++-Compiler leidet. Dafür spricht auch, dass die aktuelle Version 8.52 des C++-Compilers noch aus dem Jahr 2010 stammt (http://www.digitalmars.com/pnews/read.php?server=news.digitalmars.com&group=c++.announce&artnum=1113).

    Der Compiler selbst arbeitet m.W. sehr schnell, wenn man ihn mit Compilern vergleicht, die die Standards ähnlich gut unterstützen (ich hab glaube ich mal gelesen, dass irgendwelche uralten Borland-Dinger wohl noch schneller sein sollen, aber die kann man halt nicht für modernes C++ einsetzen).

    http://www.digitalmars.com/ctg/C-Language-Implementation.html sagt u.a.: "Unimplemented Features: While Digital Mars C strives to be fully compatible with C99, some features remain unimplemented, for example: tgmath.h, _Pragma."

    Siehe auch http://www.digitalmars.com/ctg/CPP-Language-Implementation.html und http://www.digitalmars.com/ctg/CPP0x-Language-Implementation.html für C++- bzw. C++0x-Unterstützung.


Anmelden zum Antworten