迴圈優化,是程式在最短時間內執行出結果,大部分思想是空間換時間,但是這個方法還是比較特別的。
直接看**說話:
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 不...