迴圈優化技巧一 大迴圈在內,小迴圈主外

2021-06-15 22:08:24 字數 1555 閱讀 4844

迴圈優化,是程式在最短時間內執行出結果,大部分思想是空間換時間,但是這個方法還是比較特別的。

直接看**說話:

using system;

using system.collections.generic;

using system.text;

namespace consoletest

結束) ...", console_exit);

// 迴圈提示輸入資料

int outter = 0;

int inner = 0;

string str = string.empty;

while(true)

if (str.indexof(',') < 1)

outter = int.parse(str.split(new char )[0]);

inner =  int.parse(str.split(new char )[1]);

pm.test(outter, inner);

}console.writeline("press any key to continue ...");

console.readline();

}///

/// 測試函式

///

/// 外層迴圈

/// 內層迴圈

console.writeline(builder.tostring());}}

public class performancemonitor

datetime end = datetime.now;

this.mcosttime = end.subtract(start).totalmilliseconds;

}///

/// 顯示測試資訊

///

/// 資料一

/// 資料二

public void test(int o, int i)}}

**內注釋已經比較詳細了,就不多說了。只看結果 [ 測試結果不能重複,依據配置和工具不同而不同 ]: 

優化結果令人吃驚,以後寫**的時候一定要注意哦。不過根據本人測試結果分析,

內、外層差距越大,優化結果越明顯。

所以,此種方法的優化的條件個人總結為:

1、內、外層迴圈差距在3倍以上;

2、內外層的總數最好都在10以上,這樣測試才更有優化的效果,小資料量看不出變化的哦。至少我這裡是看不出來。

系統優化之 大迴圈在內,小迴圈主外 為什麼會效率高

下面引自 這個問題的主要原因是cpu內部的指令執行機制。現在,基本上cpu內部都有分支指令 就是當執行 現在大多將這一階段提前到預取指令時執行 到轉移指令時,都會直接從分支目標快取 btb 中取出目標指令的位址,然後將要執行的指令提前預取到cpu的指令預取指令佇列中。這樣,顯然大大提高了效率。舉個例...

C語言中的三大迴圈

一 c語言中的三大迴圈包括 while迴圈 do while迴圈和for迴圈 1 while迴圈 形式 while 表示式 執行 當表示式為真時執行迴圈體語句 當表示式為假時則跳出迴圈不再執行迴圈體語句 2 do while迴圈 形式 do while 表示式 執行 程式先執行迴圈體語句,然後判斷表...

Java的基本概念 三大迴圈

程式的三種結構 順序結構 分支結構和迴圈結構 1 正常迴圈的4個條件 迴圈條件 迴圈的入口 迴圈變數 用來控制迴圈次數 迴圈體 進行什麼樣的迴圈 改變迴圈變數的值 迴圈的出口 2 迴圈的適用條件 while迴圈 不明確迴圈次數 根據條件來決定是否迴圈 for迴圈 明確迴圈的次數 do while 不...