Frage zur Optimierung von Programmcode
-
Qt ist wie ein Dildo. Es ist nicht so toll, aber es funktioniert. :p
-
Welche GUI-API bevorzugt ihr denn?
Ich seh nicht was so schlecht an Qt sein soll. Damit, dass das alles nicht nativ ist, kann ich bei meinen Projekten glaub ich leben. Würd ich das beruflich machen, würd ich denk ich auch mehr auf Protabilität, Kapselung, etc. achten
-
IMO gibt es derzeit kein einziges, schön designtes GUI Framework.
-
314159265358979 schrieb:
Qt ist wie ein Dildo. Es ist nicht so toll, aber es funktioniert. :p
Du hast mit beiden genug Erfahrung, um das beurteilen zu können?
Qt geht schon in Ordnung. Ich persönlich bevorzuge gtkmm, wenn ich es mir aussuchen kann, aber ich musste auch schon mit wx und MFC arbeiten, also wäre Qt nichts, weswegen ich mir die Haare ausrisse.
-
seldon schrieb:
Du hast mit beiden genug Erfahrung, um das beurteilen zu können?
^.-
-
S1ckness schrieb:
Hallo!
Ich hab kurz mal 'ne Frage.
Gegeben ich hab zwei Schleifen:int dimension = a.getDimension(); float dotProduct = 0.0; for(int i = 0; i < dimension; i++) { dotProduct += a.coordinates_[i] * b.coordinates_[i]; } return dotProduct;
und 2.
float dotProduct = 0.0; for(int i = 0; i < a.getDimension(); i++) { dotProduct += a.coordinates_[i] * b.coordinates_[i]; } return dotProduct;
Ich hab irgendwo mal gelesen, dass die zweite Schleife langsamer ist, als die erste, da hier ja in jedem Druchgang die Funktion getDimension aufgerufen wird.
Stimmt das oder sind die Unterschiede so klein bzw. die Compiler soweit optimiert, dass das keinen Unterschied macht?Danke,
S1ckness.Noch mal zur Verdeutlichung des genauen Problems. Tatsächlich wird bei der 2. Variante jedes mal die Methode getDimension aufgerufen. Aber da wir nicht sehen, wie diese Methode implementiert ist, lässt sich nicht sagen, ob es relevant ist. In der Regel sind solche Funktionen im Header inline definiert und liefern den Wert einer privaten Variablen zurück. Das kann der Compiler einfach weg optimieren und es gibt keinen Unterschied der 2 Varianten. Anders ist es, wenn die Methode nicht Inline ist. Oder eben komplizierte Sachen ausführen muss. Ist a beispielsweise eine verkettete Liste könnte getDimension bedeuten, dass die Liste durchlaufen wird, um festzustellen, wie viele Elemente die Liste hat. Das kann der Compiler auch bei inline-code wahrscheinlich nicht weg optimieren. Da ist die 2. Variante tatsächlich dann teurer.
-
getDimension() gibt lediglich die private Variable dimension_ zurück.
Eigentlich müsste der Compiler das doch gut optimieren, oder nicht?
Lohnt es sich da als inline zu deklarieren?
-
314159265358979 schrieb:
Qt ist wie ein Dildo. Es ist nicht so toll, aber es funktioniert. :p
Für mich als hetero-Mann ist ein Dildo deutlich toller als etwas aus Fleisch und Blut. *schüttel*
-
Ich würde mal sagen, das kommt ganz stark auf dessen Form und Größe an. Gibt da schon ziemlich perverse Dinger.
-
Kommt mal wieder zum Thema zurück. Oder wenn schon Offtopicdiskussion, dann sachlich und wenigstens entfernt über C++. Zum Blödeln sind andere Foren da. Hier ist eine Steilvorlage:
http://www.c-plusplus.net/forum/p2209929#2209929Jetzt müsst ihr nur noch Antworten mit:
Bist du noch nie in einer Kirche/Universität/Piratenparteitag/[Name kontroverser Versammlung] gewesen?Und schon geht der Flamewar los.