Biasanya sebagian besar pekerjaan sebuah program dilakukan dalam satu atau dua loop kecil
yang berulang-ulang kali berulang kali. Optimalisasi tingkat tinggi berikut ditargetkan secara
spesifik pada loop karena banyaknya pekerjaan yang mereka lakukan. Dalam kode matematis
situasi yang di sebutkan di atas dimana sebagian besar pekerjaan dilakukan melalui loop,
hampir universal, karena alasan ini optimasi loop adalah yang paling penting. Kompiler untuk
superkomputer menghabiskan sebagian besar waktu dalam melakukan pengoptimalan loop.
Loop sering mengakses array dan banyak pengoptimalan loop bergantung pada fakta ini.
Programmer mengetahui pentingnya loop dan hanya memperhatikan kode mereka saat
mengevaluasi algoritma.
Contoh instruksi :
FOR I:=1 to 2 DO
A[I]:=0;
dioptimasi menjadi
A[1] := 0;
A[2] := 0;
Pada instruksi pertama yang menggunakan iterasi perlu dilakukan inisialisasi setiap eksekusi
loop, pengetesan, adjustment, dan operasi pada tubuh perulangan. Yang kesemuanya itu
menghasilkan banyak instruksi. Karena itu dengan optimasi hanya
memerlukan dua instruksi assignment.
Contoh instruksi :
FOR I:=1 TO 10 DO BEGIN
X:=5; A:=A+1;
END;
variabel X dapat dikeluarkan dari iterasi, menjadi :
X:=5;
FOR I:=1 TO 10 DO BEGIN
A:=A+1 END;
https://www.tutorialspoint.com/compiler_design/compiler_design_code_optimiza tion.htm
https://www.vssut.ac.in/lecture_notes/lecture1422914957.pdf
http://www.realworldtech.com/compiler-optimization/