Programm Optimierung
-
Wie soll man sowas noch optimieren können?
if(a>b) return 1 else return 0
ein Freund meint das man das noch optimieren kann. Ja wie denn?
-
return a > b
-
ganz einfach so:
mach aus:
bool funktion (int a, int b) { if(a>b) return (true); else return (false); }
das hier:
bool funktion (int a, int b) { if(a>b) return (true); return (false); }
oder:
bool funktion (int a, int b) { return (a>b); }
ansonsten wüsste ich nicht wie man das noch optimieren kann.
-
sehr witzig patrick
:xmas1:
-
frohe weihnachten
:xmas2: :xmas2: :xmas1: :xmas1: :xmas2: :xmas2:
@Mods:
wie wäre es mit einem Smilie für Silvester? :D:D:D
-
Man kann noch die Klammern wegoptimieren und die Funktion inline machen
-
dann könnten wa ja gleich ein makro draus machen
#define BLUB(x,y) ((x)>(y))
besser kanns net mehr optimiert werden LOL, nebenbei: sofern wie ich weis wirken sich klammern nicht auf den speed aus.
-
inline Funktion ist genauso schnell wie Makro
Aber inline Funktionen sind in C++ schöner als Makros
-
naja aber präprozessor makros werden direkt vom Präprozessor eingesetzt und inline erst beim compilieren.
(bitte verbessert mich wenns net stimmt)
nebenbei ist das noch net mal ne funktion ^^
-
Hm, wenn das vomn Compiler gemacht wird, beeinflusst das die Performance ja nicht, also ist es egal
-
Auf C++ - Ebene bei einem nicht allzu doofen Compiler läßt sich da (in erster Näherung) nichts mehr rausholen.
Das einzige was noch was bringt: Die entsprechende Funktion inline zu machen. Gibt Optimizer/CPU mehr möglichkeiten zum "umsortieren" von Anweisungen, zusätzliche Optimierungen (Werte aus register etc.), und erspart die Funktionsaufruf-Extras.
Auf "dämlichen" Compilern (genauer: dämlichen Optimizern) kann man mit zugeschnittenen Assember-Anweisungen noch was rausholen (z.B. CMP/SETcc auf späteren x86 - CPU's), da verbraten die meisten Compiler aber zu viele cycles an der Schnittstelle (Ausnahme: Watcom C++).
-
Also ich würde sagen:
Prüfe mit einem Profiler
:xmas2:
-
*edit*