// This program does not uses loop unrolling. #include int main(void) { for (int i=0; i<5; i++) printf('Hellon'); //print hello 5 times return 0; }
Programm 2: CPP // This program uses loop unrolling. #include int main(void) { // unrolled the for loop in program 1 printf('Hellon'); printf('Hellon'); printf('Hellon'); printf('Hellon'); printf('Hellon'); return 0; }
Output: Hello Hello Hello Hello HelloIllustration: Programm 2 ist effizienter als Programm 1, da in Programm 1 bei jedem Schleifendurchlauf der Wert von i überprüft und der Wert von i erhöht werden muss. Daher können kleine Schleifen wie diese oder Schleifen mit einer festen Anzahl von Iterationen vollständig abgewickelt werden, um den Schleifenaufwand zu reduzieren.
Vorteile:
Wählen Sie aus mehreren SQL-Tabellen aus
- Erhöht die Programmeffizienz.
- Reduziert den Schleifenaufwand.
- Wenn Anweisungen in einer Schleife nicht voneinander abhängig sind, können sie parallel ausgeführt werden.
Nachteile:
- Erhöhte Programmcodegröße, die unerwünscht sein kann.
- Mögliche erhöhte Nutzung von Registern in einer einzelnen Iteration zum Speichern temporärer Variablen, was die Leistung beeinträchtigen kann.
- Abgesehen von sehr kleinen und einfachen Codes sind abgerollte Schleifen, die Verzweigungen enthalten, sogar langsamer als Rekursionen.