Academic Research in Educational Sciences Volume 4


loop_invariant_code_motion_optimization



Yüklə 132,29 Kb.
Pdf görüntüsü
səhifə8/15
tarix07.01.2024
ölçüsü132,29 Kb.
#201223
1   ...   4   5   6   7   8   9   10   11   ...   15
dasturning-siklik-bolimlarini-optimallashtirish (1)

loop_invariant_code_motion_optimization
(loop_body): 
invariant_code = [ ] 
new_loop_body = [ ] 
for stmt in loop_body: 
if is_loop_invariant(stmt): 
invariant_code.append(stmt) 
else: 
new_loop_body.extend(invariant_code) 
invariant_code = [ ] 
new_loop_body.append(stmt) 
new_loop_body.extend(invariant_code) 
return new_loop_body 
def is_loop_invariant(stmt): 
return True or False 
Ushbu 
kodda 
bizda 
ikkita 
funktsiya 
mavjud. 
loop_invariant_code_motion_optimization funksiyasi kirish sifatida loop_body ni 
oladi, bu original sikl tanasini ifodalaydi. 
Funktsiya ichida ikkita ro'yxat yaratiladi: “loop-invariant” kodini saqlash 
uchun “invariant_code” va “loop-invariant” kod harakatini optimallashtirishdan keyin 
yangi sikl tanasini saqlash uchun “new_loop_body”, “loop_body” dagi har bir holat 
takrorlanadi. Agar statement “loop_invariant” funksiyasi asosida “loop-invariant” 
ekanligi aniqlansa, u “invariant_code” ro'yxatiga qo'shiladi. Aks holda , ” 
invariant_code” da saqlangan “loop-invariant” kodi, uni “new_loop_body” ga 
qo'shish orqali sikldan tashqariga o'tkaziladi. Keyin “invariant_kodlar” ro'yxati qayta 
o'rnatiladi. 
Loopdan keyin “invariant_code” ro'yxatidagi qolgan har qanday siklning 
o'zgarmas kodi uni “new_loop_body” ga qo'shish orqali sikldan tashqariga 
ko'chiriladi. 
Va nihoyat, funktsiya “loop-invariant kod” harakatini optimallashtirish 
qo'llanilgandan so'ng, sikl tanasini ifodalovchi “new_loop_body” ni qaytaradi. 
“is_loop_invariant” funksiyasi berilgan statementning “loop-invariant” yoki 
yo'qligini aniqlaydigan to'ldiruvchidir. Agar ibora “loop-
invariant” bo'lsa, u "True", aks holda "False" ni qaytarishi kerak. 
[8] 


Academic Research in Educational Sciences 

Yüklə 132,29 Kb.

Dostları ilə paylaş:
1   ...   4   5   6   7   8   9   10   11   ...   15




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin