C oder C++ Libraries leistungsfähiger?



  • Hallo.
    Ich frage mich gerade, welche Libs leistungsfähiger sind.
    Also ich meine jetzt nicht von der Handhabung, sondern von der Schnelligkeit und Fehleranfälligkeit.
    Ich meine jetzt z.B.:

    string vs. char
    cstdio vs. fstream/iostream
    Oder kann man das nicht so verallgemeinern?
    

    Gruß Speedy_92



  • es hängt immer davon ab was du haben willst.

    std::string verbraucht zB mehr speicher als wenn du alles in C hand optimierst. Aber man muss deshalb ja nicht immer std::string verwenden wenn das keinen Sinn macht, sondern eben teilweise nocopy strings und ähnliches...

    selbes gilt bei io funktionen. da verwendet man aber sowieso memory mapped files wenn man wirklich performance braucht - oder eben eine andere system abhängige technik...

    die frage macht daher keinen Sinn.



  • Speedy_92 schrieb:

    Also ich meine jetzt [...] von der Schnelligkeit und Fehleranfälligkeit.

    Na gut, bezüglich Fehleranfälligkeit kann man schon sagen, dass C eher unsicherer ist, weil man sehr oft direkt auf dem Speicher rumschreibt und mit Zeigern arbeitet. In C++ hingegen gibt es Klassen, die einem diese Arbeit abnehmen und bequeme Funktionen zur Verfügung stellen. Ein anderes gutes Beispiel sind STL-Container vs. dynamische Arrays in C.

    Sofern du unter C++ programmierst, würde ich dir daher auch raten, dessen Möglichkeiten zu nutzen. Die Performance ist auch nicht unbedingt schlechter; wenn du nicht unter sehr zeitkritischen Bedingungen arbeitest, sollte das auch gar kein Problem sein.



  • Man kann Cs stdio nicht mit den C++ IOStreams vergleichen, da beide ein völlig anderes Ziel verfolgen. Und die C++ Streams entsprechend langsamer sind.


Anmelden zum Antworten