Cwiczenie
Z Studia Informatyczne
Proste eksperymenty ze środowiskiem
Który program wykona się szybciej:
x = 1.0; for( i = 0; i < N; i++) x = x/3.0;
czy
x = 1.0; f = ; for( i = 0; i < N; i++) x = x*f;
Oczywiście, szybszy będzie program nie wykorzystujący dzielenia. Optymalizujący
kompilator (\lstux!gcc -O3!) strawi, a nawet będzie jeszcze bardziej zadowolony z pozornie
rozrzutnego kodu
x = 1.0; for( i = 0; i < N; i++) x = x*(1.0/3.0);
dlatego, że stałą, przez którą trzeba mnożyć , wyliczy przed wykonaniem programu.
Sprawdź, czy z wyłączoną optymalizacją ten kod okaże się najwolniejszy ze wszystkich...