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.