国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > 綜合 > 正文

簡單代碼的性能差異

2024-07-21 02:17:07
字體:
供稿:網(wǎng)友

商業(yè)源碼熱門下載www.html.org.cn

《.net 框架程序設(shè)計》里的幾句代碼,我重新整理了一下,寫成函數(shù),這樣下面的反編譯代碼看起來更方便點:

public void boxing()
{
int32 v = 5;
console.writeline("{0},{1},{2}",v,v,v);
}
public void boxing1()
{
int32 v = 5;
object o = v;
console.writeline("{0},{1},{2}",o,o,o);
}兩個函數(shù)的輸出結(jié)果是一樣的,但是哪一個函數(shù)更好呢?

第一個顯然更簡單,但是在性能上第二個好,看看反編譯的代碼:
boxing函數(shù):
.method public hidebysig instance void boxing() cil managed
{
// code size: 31 byte(s)
.maxstack 4
.locals (
int32 v_0)
l_0000: ldc.i4.5
l_0001: stloc.0
l_0002: ldstr "{0},{1},{2}"
l_0007: ldloc.0
l_0008: box int32
l_000d: ldloc.0
l_000e: box int32
l_0013: ldloc.0
l_0014: box int32
l_0019: call void [mscorlib]system.console::writeline(string, object, object, object)
l_001e: ret
}



boxing1函數(shù)的:
.method public hidebysig instance void boxing1() cil managed
{
// code size: 23 byte(s)
.maxstack 4
.locals (
int32 v_0,
object v_1)
l_0000: ldc.i4.5
l_0001: stloc.0
l_0002: ldloc.0
l_0003: box int32
l_0008: stloc.1
l_0009: ldstr "{0},{1},{2}"
l_000e: ldloc.1
l_000f: ldloc.1
l_0010: ldloc.1
l_0011: call void [mscorlib]system.console::writeline(string, object, object, object)
l_0016: ret
}


第一個函數(shù)有三次裝箱操作,第二個只有一次,在內(nèi)存和時間消耗上都要小些。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 东阳市| 砚山县| 大庆市| 崇信县| 肇州县| 印江| 周口市| 巴中市| 苗栗市| 东辽县| 新乡市| 孟津县| 昌乐县| 宁安市| 芒康县| 贵南县| 万盛区| 响水县| 浮山县| 仙桃市| 北川| 林州市| 吴忠市| 教育| 沧州市| 长治县| 康保县| 察隅县| 盈江县| 冷水江市| 长武县| 竹山县| 洪泽县| 邮箱| 申扎县| 温宿县| 宾川县| 凌云县| 龙海市| 乌拉特中旗| 永寿县|