亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

ASP.NET(C#) String, StringBuilder 與 StringWriter性能比較

 更新時(shí)間:2007年08月18日 22:49:55   作者:  
直觀認(rèn)識(shí):正面交鋒 
性能測(cè)試1:StringBuilder 
第 1 輪測(cè)試:用時(shí) 312.5 毫秒 
第 2 輪測(cè)試:用時(shí) 421.875 毫秒 
第 3 輪測(cè)試:用時(shí) 453.125 毫秒 
第 4 輪測(cè)試:用時(shí) 421.875 毫秒 
第 5 輪測(cè)試:用時(shí) 453.125 毫秒 
性能測(cè)試2:StringWriter 
第 1 輪測(cè)試:用時(shí) 406.25 毫秒 
第 2 輪測(cè)試:用時(shí) 453.125 毫秒 
第 3 輪測(cè)試:用時(shí) 421.875 毫秒 
第 4 輪測(cè)試:用時(shí) 437.5 毫秒 
第 5 輪測(cè)試:用時(shí) 437.5 毫秒 
性能測(cè)試3:String(1/100 數(shù)據(jù)量) 
第 1 輪測(cè)試:用時(shí) 12406.25 毫秒 

您注意到了嗎? 
       String 連接方式在只有 1/100 數(shù)據(jù)的測(cè)試下,使用時(shí)間30倍于 StringBuilder。因此,基于性能的考量,我們絕不推薦這種方式。而 StringBuilder 較之 StringWriter 略勝一籌,具體的原因?qū)⒃谙挛闹蟹治?。?dāng)然,測(cè)試存在誤差,但足以說(shuō)明事實(shí)。 

StringWriter 與 StringBuilder:誰(shuí)是強(qiáng)者 
        StringWriter 位于 System.IO 命名空間內(nèi),繼承于 TextWriter。在 .Net Reflector 的反編譯結(jié)果中顯示,它的內(nèi)部事實(shí)上是采用 StringBuilder 進(jìn)行連接。無(wú)怪乎 StringWriter 會(huì)略遜一籌,它原來(lái)僅僅是 StringBuilder 的一個(gè)適配(可以稱(chēng)之為 Adapter 模式)。為什么 StringBuilder 擁有如此的效率? 

您注意到了嗎? 
在許多地方,需要 StringWriter 而不是 StringBuilder,例如 XmlTextWriter。 

StringBuilder:原因何在 
       關(guān)于 System.Text.StringBuilder 的研究,網(wǎng)上已有不少,其主要原理便是預(yù)先以非托管方式分配內(nèi)存,保證文本的修改與擴(kuò)張,不重新創(chuàng)建一個(gè) String 對(duì)象。而 String 對(duì)象的創(chuàng)建,便是性能瓶頸所在。它的連接效率遠(yuǎn)超過(guò) String,不過(guò)在少量的文本連接時(shí),顯然 String 編程時(shí)更方便些。 

相關(guān)文章

最新評(píng)論