剛剛用C#寫了一個排序算法,在運(yùn)行中對該算法執(zhí)行了二次,第一次需要1000多微秒,但第二次僅需要10微秒。請問各位大蝦這是為什么?
2 回答

慕斯709654
TA貢獻(xiàn)1840條經(jīng)驗 獲得超5個贊
因為 .NET 程序從源代碼到機(jī)器代碼會經(jīng)歷兩個過程:先從源代碼 到IL 中間代碼:再在程序執(zhí)行的時候,JIT 會將中間代碼 編譯成機(jī)器代碼。在代碼第一次執(zhí)行的時候有上述過程。然后編譯后的機(jī)器代碼會被緩存起來。所以第一次執(zhí)行的速度會長一些,而第二次速度就快很多, 因為不需要再從 IL 到機(jī)器碼的編譯過程。
- 2 回答
- 0 關(guān)注
- 820 瀏覽
添加回答
舉報
0/150
提交
取消