日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

简单代码的性能差异

發(fā)布時(shí)間:2023/11/27 生活经验 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 简单代码的性能差异 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
《.net 框架程序設(shè)計(jì)》里的幾句代碼,我重新整理了一下,寫成函數(shù),這樣下面的反編譯代碼看起來更方便點(diǎn):

dahuzizyd的專欄??? http://blog.csdn.net/dahuzizyd/


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);
????????}
兩個(gè)函數(shù)的輸出結(jié)果是一樣的,但是哪一個(gè)函數(shù)更好呢?

第一個(gè)顯然更簡(jiǎn)單,但是在性能上第二個(gè)好,看看反編譯的代碼:
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?
}



第一個(gè)函數(shù)有三次裝箱操作,第二個(gè)只有一次,在內(nèi)存和時(shí)間消耗上都要小些。

這么簡(jiǎn)單的代碼,在性能上都有這么大的差異,以前寫的程序里還不知道有多少有問題的代碼

版權(quán)聲明:CSDN是本Blog托管服務(wù)提供商。如本文牽涉版權(quán)問題,CSDN不承擔(dān)相關(guān)責(zé)任,請(qǐng)版權(quán)擁有者直接與文章作者聯(lián)系解決。

總結(jié)

以上是生活随笔為你收集整理的简单代码的性能差异的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。