Pok-13-wyk-Slajd20

Z Studia Informatyczne
Wersja z dnia 19:14, 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 – wykorzystanie praw matematyki

Optymalizacje – wykorzystanie praw matematyki


W trakcie optymalizacji kodu można korzystać z praw matematyki takich, jak łączność i przemienność. Reorganizacja obliczeń może dać istotne usprawnienie kodu wynikowego.

W przedstawionym przykładzie zreorganizowano obliczanie sumy co pozwoliło zmniejszyć i liczbę dodawań i przypisań (przy założeniu, że wartość zmiennej tymczasowej t nie jest już dalej potrzebna).

Niestety, arytmetyka komputera nie zawsze zgadza się z matematycznymi tożsamościami algebraicznymi. Fakt ten uwzględniono w standardzie języka Fortran 77 – wyrażenie „x*y-x*z” można obliczyć jako „x*(y-z)”, ale nie wolno przestawiać wstawionych przez programistę nawiasów, czyli „a+(b-c)” obliczyć jako „(a+b)-c”. Optymalizator kodu musi mieć informację, o tym gdzie w wyrażeniu znajdowały się nawiasy, których nie wolno mu zreorganizować.


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