Srki je u globalu u pravu kad kaže da ovakve optimizacije treba prepustiti kompilatoru, ali postoje i specifične oblasti gde to baš ne važi. Npr., kada se pišu numerički intenzivni programi uske i kratkotrajne namene, često, mada ne obavezno, za izvršavanje na superračunarima.
Osnovno je da je u ovim posebnim slučajevima mašina poznata, a prvi prioritet je da se proračun izvršava brzo. Ako je proračun iole komplikovaniji od množenja vektor-vektor, matrica-vektor, matrica-matrica, i sličnih primitivnih operacija, šanse kompilatora da optimizuje kôd znatno se smanjuju.
Štaviše, da bi se kôd značajno ubrzao, često nije potrebno previše pametovati, već se samo držati nekih opštih vodilja i ne činiti gluposti. Baš smo prošlog semestra imali jedan predmet, gde je trebalo implementirati nekakav proračun, bez posebnog osvrtanja na brzinu. Pošto su nam bile pune ruke posla, nisam imao vremena da mnogo razmišljam o optimizaciji, samo sam primenjivao pomenute opšte vodilje. Rezultati su bili, barem meni, iznenađujući:
http://www10.informatik.uni-er...SS2005/NuSiF/performance.shtml
(Iako ne baš u vezi sa ovom pričom, posebno je zabavno da je na Intelovom procesoru GCC istukao Intelov kompilator :)
Jedna fina knjiga o optimizacijama ovog tipa, koju smo koristili u jednom drugom predmetu koji se baš i bavio time, jeste:
„Performance Optimization of Numerically Intensive Codes“ - Goedecker, Hoisie. Nažalost, nešto ne vidim da je lako dostupna, čak ni na, kh, p2p, kh...
[Ovu poruku je menjao Časlav Ilić dana 01.03.2006. u 14:39 GMT+1]