Pok-13-wyk-Slajd23

Z Studia Informatyczne
Wersja z dnia 19:15, 30 sie 2006 autorstwa Complak (dyskusja | edycje)
(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)
Przejdź do nawigacjiPrzejdź do wyszukiwania

Optymalizacje pętli – przemieszczanie kodu

Optymalizacje pętli – przemieszczanie kodu


Najbardziej widoczne są efekty optymalizacji pętli. Nawet pojedynczy takt procesora zaoszczędzony w implementacji ciała pętli zwielokrotni się w wyniku kolejnych iteracji.

Jeżeli jakieś wyrażenie używane w pętli ma w każdym przebiegu pętli zawsze taką samą wartość, to kod obliczający wartość tego wyrażenia można wyciągnąć przed pętlę.

W przedstawionym fragmencie pętli w Pascalu:

while i <= 3*Bound+1 do ...

jeśli wewnątrz pętli wartość zmiennej Bound nie ulega zmianie, to pętlę można przekształcić wyciągając obliczanie wyrażenia przed pętlę:t := 3 * Bound+1;while i <= t do ...


<< Poprzedni slajd | Spis treści | Następny slajd >>