c 閉包快多少?

2021-06-19 11:13:07 字數 1126 閱讀 4612

一直想看看閉包是不是在初始化物件的時候是不是更快一些,今天剛好有時間用**驗證一下:

1. 環境

作業系統: win8.1 (build:9600)

cpu:i7-2610qm

記憶體:8g ddr2

硬碟:ssd

其他軟體:vs2012 + .net framework 4.5 控制台程式。

2. **:

using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.threading.tasks;

using system.diagnostics;

namespace yournamespace

public static void enclosureway()

,item2s = new list() , new item2 }

});}

watch.stop();

console.writeline(watch.elapsedmilliseconds.tostring());

}public static void origninalway()

watch.stop();

console.writeline(watch.elapsedmilliseconds.tostring());}}

public class enclosure

public struct item1

public struct item2

}

3. 結果:

4. 總結:

測試結果看起來沒有明顯差別,傳統方式和閉包方式初始化效能基本不相上下。但是,沒有驗證過編譯之後的中間**是不是類似,所以暫時還不能下定論,待續.



閉包 解決閉包問題

1 函式和對其周圍狀態 lexical environment,詞法環境 的引用 在一起構成閉包 closure 2 函式與函式所依賴的上下文環境組成閉包問題。3 閉包指的是 能夠訪問另乙個函式作用域的變數的函式。清晰的講 閉包就是乙個函式,這個函式能夠訪問其他函式的作用域中的變數。var arr ...

python 閉包 python 閉包

閉包 因為python中函式也可以當作物件,所以如果出現當我們返回乙個函式,而該函式含有外部變數的時候就形成了閉包。閉包的特點 是個巢狀函式 可以獲得非區域性的變數 將函式當作物件返回 看乙個例子會更易理解 def make printer msg msg hi there def printer ...

C 中的右移位操作符比乘法要快多少?

都說c 中的右移 或左移 要比乘法 或除法 快,但是到底快多少呢,在網上並沒有找到合適的答案,於是就自己測試了一下。生成乙個長度為1m的字串,然後每4個一組組成乙個整型,計算公式是 data i 3 16777216 data i 2 65536 data i 4 1 256 data i 4 或者...