c / intermediate
Snippet
Inline-Funktionen für Performance
Das Schlüsselwort 'inline' ist ein Hinweis an den Compiler, Funktionsaufrufe durch den tatsächlichen Funktionskörper zu ersetzen. Dies eliminiert den Overhead eines Funktionsaufrufs (Stack-Manipulation, Sprünge) für kleine, häufig genutzte Funktionen und kann die Ausführungsgeschwindigkeit verbessern.
snippet.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h>// Suggests to the compiler to integrate the code directly at call sitesstatic inline int max(int a, int b) {return (a > b) ? a : b;}int main() {int x = 42, y = 15;// The compiler might replace the call with: int result = (42 > 15) ? 42 : 15;int result = max(x, y);printf("Max value: %d\n", result);return 0;}
Erklärung
1
static inline int max(...)
Deklariert eine Funktion als inline; 'static' wird oft verwendet, um den Scope auf die aktuelle Übersetzungseinheit zu beschränken.
2
return (a > b) ? a : b;
Kleine Logik, die sich gut für Inlining eignet, da sie rechentechnisch günstig ist.