c#中l(wèi)ist.FindAll與for循環(huán)的性能對比總結(jié)
前言
最近在網(wǎng)上看到一篇文章,里面說到:List<T>.FindAll的效率竟然比for循環(huán)還差,下面是文章的截圖:

以上就是baidu出來的一篇文章,讓我驚詫不已,因為在AI模塊我已經(jīng)使用了很多FindAll。但是,上文的結(jié)論是真的嗎?
我在上文代碼基礎(chǔ)上增加了多次測試的代碼:

得到了如下結(jié)果:
.Net2.0, visual studio 執(zhí)行1,1,10, 100,1000次:

.Net4.1, visual studio 執(zhí)行1,1,10, 100,1000次:

Unity 先預(yù)處理再執(zhí)行1000次:

Unity 先預(yù)處理再執(zhí)行 10 次

Unity 先預(yù)處理再執(zhí)行 1 次

我的測試程序表明:無論windows平臺還是unity平臺,List.FindAll的效率并非如前文所說“比for循環(huán)差五六十倍”。事實是,因為要初始化算法現(xiàn)場,進(jìn)程第一次調(diào)用List.FindAll的耗時比for循環(huán)長五六十倍。但是,第一次之后的調(diào)用List.FindAll和for循環(huán)的性能差異是非常小的,可以忽略。
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關(guān)文章
c#檢測usb設(shè)備撥插類庫USBClassLibrary分享
這篇文章主要介紹了c#檢測usb設(shè)備撥插類庫USBClassLibrary的簡單示例,需要的朋友可以參考下2014-04-04
基于C#實現(xiàn)一個最簡單的HTTP服務(wù)器實例
這篇文章主要介紹了基于C#實現(xiàn)一個最簡單的HTTP服務(wù)器的方法,詳細(xì)分析了http服務(wù)器的實現(xiàn)原理與相關(guān)技巧,以及對應(yīng)的注意事項,需要的朋友可以參考下2014-12-12
C#實現(xiàn)簡單學(xué)生信息管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了C#實現(xiàn)簡單學(xué)生信息管理系統(tǒng),具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-06-06
C#調(diào)用存儲過程詳解(帶返回值、參數(shù)輸入輸出等)
這篇文章主要介紹了C#調(diào)用存儲過程的方法,結(jié)合實例形式詳細(xì)分析了各種常用的存儲過程調(diào)用方法,包括帶返回值、參數(shù)輸入輸出等,需要的朋友可以參考下2016-06-06
C# 獲取指定QQ頭像繪制圓形頭像框GDI(Graphics)的方法
某論壇的評論區(qū)模塊,發(fā)現(xiàn)這功能很不錯,琢磨了一晚上做了大致一樣的,用來當(dāng)做 注冊模塊 的頭像綁定功能,下面通過實例代碼給大家介紹下C# 獲取指定QQ頭像繪制圓形頭像框GDI(Graphics)的方法,感興趣的朋友一起看看吧2021-11-11

