Compilers
Welk effect van loop unrolling is juist?
- AHet testen van het aantal iteraties en sprongen neemt af en instructies zijn gemakkelijker te herordenen
- BDe body van de lus wordt slechts één keer geschreven, waardoor de programmacode kleiner wordt
- CDe lus wordt als functie afgesplitst, zodat hij vanaf andere plaatsen kan worden aangeroepen
Antwoord en toelichting tonen
Antwoord: A. Het testen van het aantal iteraties en sprongen neemt af en instructies zijn gemakkelijker te herordenen
Loop unrolling is een optimalisatie waarbij de body van de lus bijvoorbeeld viermaal achter elkaar wordt geschreven en het aantal iteraties een vierde wordt. Naast minder test- en sprong-instructies kunnen instructies van de naast elkaar geplaatste bodies worden gecombineerd en herordend, zodat wachttijden van berekeningen gemakkelijker worden opgevuld. De code wordt daarentegen groter en kan de instructiecache onder druk zetten. Dat de body één keer wordt geschreven en de code kleiner wordt, is een omgekeerde beschrijving, en het afsplitsen van een lus als functie is een andere transformatie.