1. Bandingkan
keuntungan dan kerugian dari machine dependent vs machine independent
optimization!
Jawab
Ø
Machine Dependent Optimizer. Kode dioptimasi sehingga lebih
efisien pad 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.
Ø
Machine Independent Optimizer. Strategi optimasi yang bisa
diaplikasikan tanpa tergantung pada mesin tujuan tempat kode yang dihasilkan
akan dieksekusi nantinya. Mesin ini meliputi optimasi lokal dan optimasi
global.
2. Lakukan
optimasi local yang diperlukan pada potongan program berikut, dan jelaskan
optimasi apa saja yang diterapkan.
A:=B+10*4;
C:=B+D;
F:=B+D-G;
FOR I:= 1 TO 100 DO
BEGIN
X:=X+I;
A:=A+X;
B:= 7;
END;
Jawab
A:=B+40;
C:=B+D;
F:=C-G;
FOR
I:= 1 TO 100 DO
BEGIN
X:=X+I;
A:=A+X;
END;
3.
Apakah kita dapat melakukan
optimasi redundant subexpression elimination pada statement berikut, mengapa?
a.
A:=B+C;
A:=X+Y;
F:=B+C+G+H;
b.
A:=B+C;
B:=X+Y;
F:=B+C+G+H;
Jawab :
a. (No), karena fariabel A
sudah di definisikan kembali dengan ekspresi baru, yang asalnya A:=B+C menjadi A:=X+Y, sehingga pada
F:=B+C+G+H, pada ekspresi B+C tidak dapat di gantikan menjadi fariable A karena
A sudah berubah menjadi A:=X+Y.
b. (Yes), karena A masih
terdefinisi sebagai A:=B+C, sehingga F:=B+C+G+H dapat di ubah menjadi F:=A+G+H.
4.
Dapatkah kita melakukan optimasi
frequency reduction pada loop berikut,
10 FOR I:=1 TO 10 DO
20 A:=I+1;
30
Jawab :
Bisa, karena nominal
10, 20, 30 tidak terlalu penting untuk di eksekusi sehingga dapat di pindahkan
karena kalo tidak di pindahkan hanya akan mengganggu kinerja program.
10
20
30
FOR I:=1 TO 10 DO
A:=I+1;
5.
Apakah cukup efisien melakukan
optimasi loop unrolling untuk statement berikut:
FOR I := 1 to 100 DO
A(I) :=
“ “
Jawab :
Tidak memungkinkan,
karena tidak efisien jika harus mengoptimasikan menjadi A(1) – A(100), hanya
akan menghabiskan memory.
6.
Penghematan apa yang dilakukan dengan menggantikan intruksi
semacam X eksponensial (pangkat) n, bila n=2 (x’) dengan X*X?
Jawab
Kita akan menghemat
suatu intruksi yang digunakan atau menghemat variabel yang digunakan.
7.
Perhatikanlah kompilator turbo pascal dan turbo C, adakah pesan
kesalahan mengenai unused variabel?
Jawab
Tidak akan ada pesan
mengenai unused variabel karena unused variabel tidak pernah dipakai dalam
program.
8.
Lakukan optimasi global sederhana pada
program berikut,
PROGRAM Test;
VAR A,B,C: INTEGER;
BEGIN
B:=5;
WHILE B < 3 DO
B;=B+1;
C:=10 +B;
END.
Jawab :
PROGRAM Test;
VAR A,B,C: INTEGER;
BEGIN
B:=5;
WHILE B < 3 DO
B:=B+1;
C:=10 +B;
END.
Lucky Club Casino Site - LuckyClub.live
ReplyDeleteLucky Club Casino is a real Vegas casino. If you play for real money or for real money you can enjoy a luckyclub.live huge variety of great games, promotions,