Qt - Geschwindigkeit, Vorteile?



  • Hi leute, ich habe einige leute kennen gelernt, die Qt "vergöttern".
    Sie behaupten, Qt sei schneller wie pure C++. Ist das korrekt?

    Nächste Frage: Welche abhänigkeiten hat Qt? Brauche ich, wenn ich mein project unter Qt entwickelt habe noch ein Qt Framework (und wenn ja, brauche ich dann noch ein VC++ [unter windows]), das installiert werden muss?

    Nächster punkt: Zum compilen, brauche ich dann noch einen "richtigen" kompiler, der installiert sein muss (z.b. MVS) bzw was genau brauche ich dann alles, um ein Qt project zu kompilieren?

    MfG Krauzi



  • Bei den Fragen solltest du den leichtesten Weg wählen -> Qt SDK samt Qt Creator runterladen, da kommt der MinGW-Compiler mit (GCC-Port auf Windows), also kein großen Hürden.

    Wie hast du denn bisher deine C++-Programme kopiliert, wenn du nach einem "richtigen" Kompiler fragst?!?

    Und wie bitte soll C++ schneller sein als pures C++? Qt ist in C++ geschrieben und kann deshalb nie schneller sein als es selbst - ist ja schließlich nicht Lucky Luke 😉



  • welcher Qt-Anbeter sagt denn, dass es schneller als C++ sei? Ich zumindest nicht :p

    Es gibt ein paar Implementationstricks, die Qt in einigen Fällen ein wenig flotter machen als das entsprechende Pendant aus der stl, aber das ist höchstens messbar, nicht spürbar (z. B. http://doc.trolltech.com/4.6/implicit-sharing.html)



  • also im großen und ganzen ist Qt nicht schneller als "reines" c++ oder?
    Könnte denn nicht das cpp komitee ebenfalls solche geschwindigkeits sachen übernehmen?



  • Das ist ungefähr so, als wenn die ein KFZ-Mechaniker erzählt ein Ferrari sei schneller als ein pures Auto. Ergo: Nachts isses kälter als draußen.



  • Krauzi schrieb:

    also im großen und ganzen ist Qt nicht schneller als "reines" c++ oder?
    Könnte denn nicht das cpp komitee ebenfalls solche geschwindigkeits sachen übernehmen?

    Mir ist immer noch nicht klar, was du mit "reines C++" meinst? Ich vermute mal, du meinst die Standard-Bibliothek von C++? Also ob z.B. QList schneller als std::list ist? Oder QString schneller als std::wstring?

    Lass dir gesagt sein, das ISO-C++ lediglich eine Norm ist, also eine Spezifikation. Wie schnell diese Komponenten sind, hängt vom Implementierer ab. Z.B. implementiert GNU GCC ihre eigene Std-Bibliothek (std::list etc). Und Microsoft kauft die Std-Bibliothek bei Dinkumware Ltd. ein. Die können aber von der Geschwindigkeit unterschiedlich sein, obwohl sie beide std::list haben.

    Das C++ Komitee denkt natürlich auch in der Norm auch an Geschwindigkeit. Ein bekannter Spruch des Komitees lautet: "Bezahle nur für das, was du auch brauchst." Damit ist gemeint: Geschwindigkeitseinbusen gibt es nur dann, wenn sie durch Anforderungen unumgänglich sind.

    Weiterhin hat das Komitee für die nächste ISO-C++ Norm die Move-Operatoren eingeführt. Was besonders bei Containern (wie list, vector und string) nochmal Geschwindigkeit bringen wird.


Anmelden zum Antworten