阿摩線上測驗 登入

申論題資訊

試卷:95年 - 95 交通事業港務升資考試_員級晉高員級_資訊管理、資訊處理:程式語言#37935
科目:程式語言
年份:95年
排序:0

題組內容

一、解釋名詞:(每小題 5 分,共 20 分)

申論題內容

⑶ Loop Optimization

詳解 (共 2 筆)

詳解 提供者:114年高考上榜
Loop Optimization(迴圈優化)是一種在程式設計中用於優化迴圈的技術。迴圈是一種重要的程式結構,用於執行重複的操作。迴圈的效率對於程序的性能至關重要,因此進行迴圈優化是提高程序性能的關鍵
詳解 提供者:澐
Frequency Reduction (Code Motion): In frequency reduction, the amount of code in loop is decreased. A statement or expression, which can be moved outside the loop body without affecting the semantics of the program, is moved outside the loop. Example: Initial code: while(i<100) { a = Sin(x)/Cos(x) + i; i++; } Optimized code: t = Sin(x)/Cos(x); while(i<100) { a = t + i; i++; } Loop Unrolling: Loop unrolling is a loop transformation technique that helps to optimize the execution time of a program. We basically remove or reduce iterations. Loop unrolling increases the program’s speed by eliminating loop control instruction and loop test instructions. Example: Initial code: for (int i=0; i<5; i++) printf(\"Pankaj\\n\"); Optimized code: printf(\"Pankaj\\n\"); printf(\"Pankaj\\n\"); printf(\"Pankaj\\n\"); printf(\"Pankaj\\n\"); printf(\"Pankaj\\n\"); Loop Jamming: Loop jamming is the combining the two or more loops in a single loop. It reduces the time taken to compile the many number of loops. Example: Initial Code: for(int i=0; i<5; i++) a = i + 5; for(int i=0; i<5; i++) b = i + 10; Optimized code: for(int i=0; i<5; i++) { a = i + 5; b = i + 10; }