這裡的文章是我個人的備份。
如果要閱讀原文,請到我的主網站:http://www.dotblogs.com.tw/mis2000lab/
本篇文章的原始出處(原文),位於:
VS 2010(Beta 2)與 VS 2008(SP1)的無聊比較,看看就好 別認真~
http://www.dotblogs.com.tw/mis2000lab/archive/2009/11/25/vs2010_vs2008_who_fast.aspx
=====================================================
之前我曾寫了兩支簡單的程式去存取資料庫,用來比較兩者執行的差異。
把資料庫的內容,呈現在畫面上。
1. 使用傳統字串連接(&或是+符號)的方法來作
2. 使用 StringBuilder來作。
程式碼大致相同,每一次用迴圈連續跑一萬遍。
執行六次,來算平均執行時間。
想當然,用 StringBuilder速度快多了。大約快上 5.45倍。
但無聊的我,那時候的電腦上,同時安裝了VS 2005 與 VS 2008,所以我也用兩者作了比較。
又發現 VS 2008跑起來的結果,更為傑出。大約快了 5.45倍。
================================================================
現在,VS 2010 Beta 2已經問市,我昨晚想到這件事,
今天又把這兩支程式,拿出來如法炮製一番。
結果呢?
因為結果跟我想得有些不同,所以我必須事先聲名:
這純粹是個人無聊之舉,沒有嚴謹的測試,
Just For FUN~
請大家看看就算了(不用太認真)
答案是差不多,幾乎一樣。
1. 使用傳統字串連接(&或是+符號)的方法來作。VS 2010 Beta版,比VS 2008 SP1 慢了1%。我想這應該算是誤差吧,算是差不多好了。
2. 使用 StringBuilder來作。VS 2010 Beta版,比VS 2008 SP1 快了4%。
我的作法是用 Microsoft.VisualBasic.DateAndTime.Timer 來計算程式啟始與結束的時間,然後得出執行時間。
'--Timer 屬性會傳回午夜過後的秒數和毫秒數。秒數是傳回值的整數部分,毫秒則是小數部分
'-- http://msdn.microsoft.com/zh-tw/library/t94fw4e9.aspx
第一遍執行六次的那支程式,速度明顯地比其他程式慢了很多。
於是我最後又讓他重跑六次,時間大約進步三秒(應該比較公平一點了)。
2009/11/27補充:
感謝網友 艾克提供更好的作法:
Stopwatch 類別
http://msdn.microsoft.com/zh-tw/library/system.diagnostics.stopwatch.aspx
Stopwatch 執行個體 (Instance) 可以測量某個間隔的已耗用時間,或多個間隔的已耗用時間總和。在一般的 Stopwatch 案例中,您會呼叫 Start 方法,最後再呼叫 Stop 方法,之後再使用 Elapsed 屬性檢查已耗用時間。
===================================================================
我的新NB(CPU -- Intel T7200 2.0GHz,雙核心 / 主機4GB RAM),[開箱文] 兩年前的「中古」新NB
比起舊的那一款(CPU -- Intel Dothan 1.73GHz,單核心 / 主機2GB RAM),
1. 使用傳統字串連接(&或是+符號)的方法來作。都用VS 2008來比, 快了31%。
2. 使用 StringBuilder來作。VS 2010 Beta版,都用VS 2008來比,快了22%。
不負責任的結論:
換軟體,不如換硬體!!
最後快來看看今日值班正妹,名模 林葦茹 http://a585850.pixnet.net/blog/post/24336922
點圖可放大~
...... 寄信給我 mis2000lab (at) 雅虎.com.台灣 ................................................................................................................
ASP.NET專題實務
(文魁出版,VB版 P8187 / C#版P09027)
.............................................................................................................. 寄信給我 mis2000lab (at) 雅虎.com.台灣 ........