在很多情況下for和foreach具有同樣的功能,選擇for還是foreach很多人可能都是看自己的喜好,本測試試圖通過 來真是測試資料來比較他們的執行效率。希望能給大家對他們的時候帶來一些幫助。
測試環境:
硬體環境: piii800 + cpu456
軟體環境: visualstudio.net + c#
測試用例:
利用結果集來存放記錄,初始化對結果集新增記錄
分別對記錄數為10000,100000,1000000條記錄的時候進行取樣分析
關鍵測試對比**如下,功能完全一樣:
//foreach開始時間
datetime3 = system.datetime.now.timeofday.tostring();
foreach(datarow row in relationdata.tables[relationdata.relationinfo_table].rows)
buffer = row[relationdata.pk_table_name].tostring();
datetime4 = system.datetime.now.timeofday.tostring();
結果分析:
1)對於10000條記錄可以看出
foreach用了 0.0100144
for迴圈用了0.0300432
foreach所花的時間正好是for迴圈的 1/3
2)對於100000條記錄可以看出
foreach用了0.0901296
for迴圈用了0.2503600
foreach所花的時間是for迴圈的 36%
3)對於1000000條記錄結果可以看出
foreach用了1.0114544
for迴圈用了4.1574160
foreach所花的時間是for迴圈的 25%
通過對這些測試結果的分析,可以看出相對於原來的for語句foreach具有
更好的執行效率,foreach的平均花費時間只有for30%。通過測試結果在for和foreach都可以使用的情況下,我 們推薦使用效率更高的foreach.在測試同時
我們附加的發現,用for寫入資料時間大約是讀取資料時間的10倍左右
for和foreach效能比較
for和foreach效能比較 在很多情況下for和foreach具有同樣的功能,選擇for還是foreach很多人可能都是看自己的喜好,本測試試圖通過 來真是測試資料來比較他們的執行效率。希望能給大家對他們的時候帶來一些幫助。測試環境 硬體環境 piii800 cpu456 軟體環境 visual...
for迴圈與foreach效能比較與適用場景
for迴圈 for int i 0 i 100 i foreach迴圈 for int i integers 等同於 for iterator i list.iterator i.hasnext 效能上的區別 對於linkedlist,是單連結串列,使用for迴圈每次都要從第一個元素讀取next域來...
Prim和Kruskal效能比較
prim 鄰接表 優先佇列優化 kruskal 鄰接矩陣 並查級優化,因為kruskal裡沒有需要遍歷鄰接邊的操作,所以簡單的用鄰接矩陣 結果保證 獲得路徑即可 e因為要有生成樹,原圖必須是一條連通的路線,所以e n 1 include include include using namespace...
redis memcache 效能比較
from redis和memcache非常像的,都是key,value的方式,將資料存放記憶體中。最近在學習redis,在網上看了一些這方面的資料,有三種觀點 1,redis讀寫記憶體比memcache快 2,memcache讀寫記憶體比redis快 3,memcache讀寫記憶體比redis快,但...
apache resin ngnix 效能比較
靜態頁面測試,靜態頁面包括css,js,img ab c 20 n 30 併發測試 高數值的也測過,結論一致 resin2.17 平均響應時間為0.521ms nginx 0.7.65 平均響應時間為1.042ms 少許幾次小於1.042 apache2.0 平均響應時間為最低1.042ms 在re...