c#中l(wèi)ist.FindAll與for循環(huán)的性能對(duì)比總結(jié)
前言
最近在網(wǎng)上看到一篇文章,里面說(shuō)到:List<T>.FindAll的效率竟然比f(wàn)or循環(huán)還差,下面是文章的截圖:
以上就是baidu出來(lái)的一篇文章,讓我驚詫不已,因?yàn)樵贏I模塊我已經(jīng)使用了很多FindAll。但是,上文的結(jié)論是真的嗎?
我在上文代碼基礎(chǔ)上增加了多次測(cè)試的代碼:
得到了如下結(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 次
我的測(cè)試程序表明:無(wú)論windows平臺(tái)還是unity平臺(tái),List.FindAll的效率并非如前文所說(shuō)“比f(wàn)or循環(huán)差五六十倍”。事實(shí)是,因?yàn)橐跏蓟惴ìF(xiàn)場(chǎng),進(jìn)程第一次調(diào)用List.FindAll的耗時(shí)比f(wàn)or循環(huán)長(zhǎng)五六十倍。但是,第一次之后的調(diào)用List.FindAll和for循環(huán)的性能差異是非常小的,可以忽略。
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
- C#中Foreach循環(huán)遍歷的本質(zhì)與枚舉器詳解
- C# 9.0新特性——擴(kuò)展方法GetEnumerator支持foreach循環(huán)
- C#中foreach循環(huán)對(duì)比f(wàn)or循環(huán)的優(yōu)勢(shì)和劣勢(shì)
- 淺談C#中的for循環(huán)與foreach循環(huán)
- C# for循環(huán)的經(jīng)典案例集錦
- C# winform循環(huán)播放多個(gè)視頻
- C#使用for循環(huán)移除HTML標(biāo)記
- c# for循環(huán)中創(chuàng)建線(xiàn)程執(zhí)行問(wèn)題
相關(guān)文章
winform中寫(xiě)app.config文件時(shí)調(diào)試情況下沒(méi)有改變的原因
讀取很簡(jiǎn)單基本都用過(guò) ConfigurationManager.AppSettings[""].ToString() 寫(xiě)config不是很常用2013-02-02C#使用SQL DataReader訪問(wèn)數(shù)據(jù)的優(yōu)點(diǎn)和實(shí)例
今天小編就為大家分享一篇關(guān)于C#使用SQL DataReader訪問(wèn)數(shù)據(jù)的優(yōu)點(diǎn)和實(shí)例,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2018-10-10DevExpress之ChartControl實(shí)現(xiàn)餅狀圖百分比演示實(shí)例
這篇文章主要介紹了DevExpress之ChartControl實(shí)現(xiàn)餅狀圖百分比演示的方法,實(shí)例講述了窗體與圖形繪制函數(shù)的用法,需要的朋友可以參考下2014-10-10c#實(shí)現(xiàn)輸出的字符靠右對(duì)齊的示例
下面小編就為大家分享一篇c#實(shí)現(xiàn)輸出的字符靠右對(duì)齊的示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2017-12-12C#之Expression表達(dá)式樹(shù)實(shí)例
這篇文章主要介紹了C#之Expression表達(dá)式樹(shù),包括了表達(dá)式樹(shù)的原理與用法技巧,需要的朋友可以參考下2014-10-10