PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : C++: __builtin_expect


pajofego
2007-12-21, 10:46:14
Hallo zusammen,

es geht um o.g. built in function. Ich habe mich über ein open source projekt hergemacht und da taucht dessen Verwendung auf, die ich nicht nachvollziehen kann. Könnte evt. mir einer von euch kurz erklären wozu die gut ist? Wofür man sie verwendet und vor allem was tut sie?

Habe zwar folgende Dokumentation gefunden werde dennoch nicht daraus schlau!
http://gcc.gnu.org/onlinedocs/gcc/Other-Builtins.html

Danke und beste Grüße
pajofego

Neomi
2007-12-21, 11:37:58
Könnte evt. mir einer von euch kurz erklären wozu die gut ist? Wofür man sie verwendet und vor allem was tut sie?

Die Funktion "tut" nichts. Die Schreibweisen "if (__builtin_expect(foo, 0)) ...;" ist programmtechnisch identisch zu "if (foo) ...;", bloß haben unterstützende Compiler in der ersten Variante einen Hinweis auf ein wahrscheinliches Ergebnis und können dann auf den Regelfall optimieren. Die Performance kann also theoretisch ein wenig angehoben werden dadurch.