西西軟件園多重安全檢測(cè)下載網(wǎng)站、值得信賴(lài)的軟件下載站!
軟件
軟件
文章
搜索

首頁(yè)編程開(kāi)發(fā)C#.NET → .Net中各種不同的對(duì)象創(chuàng)建方式的速度差異(二)

.Net中各種不同的對(duì)象創(chuàng)建方式的速度差異(二)

相關(guān)軟件相關(guān)文章發(fā)表評(píng)論 來(lái)源:tonyhuang時(shí)間:2010/2/24 14:50:58字體大小:A-A+

作者:佚名點(diǎn)擊:115次評(píng)論:1次標(biāo)簽: 對(duì)象創(chuàng)建

  • 類(lèi)型:系統(tǒng)其它大。2.2M語(yǔ)言:中文 評(píng)分:10.0
  • 標(biāo)簽:
立即下載

OK,大家已經(jīng)看到前面的文章了,本來(lái)說(shuō)是第二天就發(fā)這篇文章的,但后來(lái)因?yàn)榉祷乩霞业脑,沒(méi)有發(fā)成,特此補(bǔ)發(fā)。

測(cè)試環(huán)境:

Lenovo ThinkPad T61
CPU: Intel T7500
Mem: 2GB
Os: Windows Vista Ultimate (x86) sp1
測(cè)試內(nèi)容:

創(chuàng)建100萬(wàn)個(gè)對(duì)象。

測(cè)試方式:

1 for(var i = 0; i < 1000000; i++)

2 // create the object

然后計(jì)算這段代碼消耗的時(shí)間

測(cè)試結(jié)果:

使用new關(guān)鍵字 17ms
使用System.Activator類(lèi)的CreateInstance方法動(dòng)態(tài)創(chuàng)建 484ms
使用System.Activator類(lèi)的CreateInstance<T>方法動(dòng)態(tài)創(chuàng)建 1545ms
使用泛型約束,使用new關(guān)鍵字創(chuàng)建對(duì)象(泛型方法)1604ms
使用泛型類(lèi)的靜態(tài)方法、泛型約束和new關(guān)鍵字創(chuàng)建 1504ms
使用泛型類(lèi)的動(dòng)態(tài)方法、泛型約束和new關(guān)鍵字 1481ms
這里使用new關(guān)鍵字無(wú)疑是最快的,比較有趣的主要有以下2點(diǎn):

使用System.Activator的非泛型方法比使用泛型方法快很多(超過(guò)200%)
使用泛型約束和new關(guān)鍵字創(chuàng)建的速度幾乎和System.Activator的泛型方法的一樣
那么,在下一篇文章里面,我將會(huì)探索和分析造成速度差異的原因,敬請(qǐng)期待。

    相關(guān)評(píng)論

    閱讀本文后您有什么感想? 已有人給出評(píng)價(jià)!

    • 8 喜歡喜歡
    • 3 頂
    • 1 難過(guò)難過(guò)
    • 5 囧
    • 3 圍觀圍觀
    • 2 無(wú)聊無(wú)聊

    熱門(mén)評(píng)論

    最新評(píng)論

    發(fā)表評(píng)論 查看所有評(píng)論(1)

    昵稱(chēng):
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字?jǐn)?shù): 0/500 (您的評(píng)論需要經(jīng)過(guò)審核才能顯示)