mikro-optimierungen
-
hallo, ich bin einem meiner projekte nun soweit fertig,
das ich anfangen kann zu optimieren
(besser gesagt ich muss, denn es ist viel zu lahm,
und ich zerbreche mir schon ständig den kopf, ob
ich irgendwo algorithmisch noch was rausholen könnte,
aber zur Zeit föllt mir nichts ein)ich habe natürlich allgemeine hinweise schon berücksichtigt
(passing by reference to const, usw)
alle bände von effectiv-c++ auch durchkennt ihr noch i-net seiten, wo man nachlesen kann was man noch
besser machen kann,z.B. bringt es was wenn man bei
sowas : if(A &&versucht die Bedingung, welche häufiger fehlschlägt, nach vorne zu
ziehenich würde mich eben gerne noch ein wenig belesen
Vielen Dank und Gruss
-
MikroOpter schrieb:
z.B. bringt es was wenn man bei
sowas : if(A &&versucht die Bedingung, welche häufiger fehlschlägt, nach vorne zu
ziehenNur dann, wenn diese Bedingung tatsächlich Teil des Problems ist, d.h. wenn hier ein wesentlicher Teil der Ausführungszeit verbracht wird. Sowas findet man durch einen Profiler heraus.
Spezielle Webseiten mit solchen Tips kenne ich allerdings nicht.
-
Hallo!
Je nach "Problemlage" kannst du sicher noch etwas herausholen. Empfehlenswert sind da natürlich immer Bücher aus Bereichen, in welchen es ganz stark auf Geschwindigkeit ankommt, z.B. aus dem Bereich der Spieleprogrammierung (vielleicht siehst du dir in einer Bibliothek mal die Reihe "Game Programming Gems" an).
Jedenfalls kann man sicher noch Optimierungsmöglichkeiten finden (Lookup-Tabellen statt mathematische Funktionen, einen "Batzen" Speicher selbst reservieren und verwalten statt die "teuren" Betriebssystemfunktionen zu verwenden, Aufteilung in Threads um den aktuellen Multicore-Prozessoren gerecht zu werden, ... usw.)
Vielleicht auch die Einstellungen des Compilers durchsehen, denn viele Compiler können von sich aus noch wunderbar optimieren.
Aber, wie gesagt, das hängt stark von deinem konkreten Problem ab. Etwas mehr Informationen wären da hilfreich.
Gruß
-
Profilen, profilen, profilen.
Einfach so irgendwas optimieren ist oft Zeitverschwändung.Ein guter Programmierer wird zwar vielleicht die kritischen Schleifen "mit freiem Auge" finden, aber was da drinnen dann genau bremst ist einfach oft ein Ratespiel.
-