TEKNIK OPTIMASI

By TheclubLado

1. TEKNIK OPTIMASI (Kelompok IV Refresh)

Optimasi merupakan langkah efesiensi dari kode program dari berukuran kecil menjadi kecil sehingga eksekusinya nanti akan lebih cepat. Berdasarkan ketergantungannya pada mesin, optimasi dibagi menjadi :

1. Machine Dependent Optimizer

Kode dioptimasi sehingga lebih efisien pada mesin tertentu. Optimasi ini memerlukan informasi mengenai Feature yang ada pada mesin tujuan dan mengambil keuntungan darinya untuk menghasilkan kode yang lebih pendek atau dieksekusi lebih cepat.

2. Machine Independent Optimizer

Strategi optimasi yang bisa diaplikasikan tanpa tergantung pada mesin tujuan tempat kode yang dihasilkan akan dieksekusi nantinya.

OPTIMASI LOKAL

Optimasi lokal adalah optimasi yang dilakukan hanya pada suatu blok dari source code, cara-caranya sebagai berikut :

1. Folding

Mengganti konstanta atau ekspresi yang bisa dievaluasi pada saat compile time dengan nilai komputasinya. Misalkan instruksi :

A:=2+3+B Bisa diganti menjadi A:=5+B

Di sini 5 menggantikan ekspresi 2+3

2. Redundant-Subexpression Elimination

Sebuah ekspresi yang sudah pernah dikomputasi, digunakan lagi hasilnya, ketimbang melakukan komputasi ulang. Misalkan terdapat urutan instruksi :

A:=B+C

X:=Y+B+C

Kemunculan kedua dari B+C yang redundan bisa diatasi dengan memanfaatkan hasil komputasinya yang sudah ada pada instruksi sebelumnya. Perhatikan, hal ini bisa dilakukan dengan catatan belum ada perubahan pada variabel yang berkaitan.

3. Optimasi dalam sebuah iterasi

· Loop Unrolling : menggatikan suatu loop dengan menulis statement dalam loop beberapa kali. Hal ini didasari pemikiran, sebuah iterasi pada implementasi level rendah akan memerlukan operasi sebagai berikut :

Ø Inisialisasi/pemberian nilai awal pada variabel loop. Dilakukan sekali pada saat permulaan eksekusi loop.

Ø Pengetesan, apakah variabel loop telah mencapai kondisi terminasi.

Ø Adjustment yaitu penambahan atau pengurangan nilai pada variabel loop dengan jumlah tertentu.

Ø Operasi yang terjadi pada tubuh perulangan (loop body)

 

0 comments so far.

Something to say?