VC,C ,VB6,VC6運算性能大比拼,第一名你絕對想不到

VB6 CPU 風投 Windows 技術小成 2017-05-11

今天在某論壇看到一位大神發帖,他為了優化”64位像素轉32位像素“算法,分別在VC2010,C#2010,VB6.0,VC6上實現了這個算法,並對比了運算速度!

為了測試公平,在同一CPU及其他硬件下運行程序(使用CPU如下):

CPU:Intel Core i3-2310M, 2100 MHz

共採用了兩種算法:

算法1:採用if語句的基礎算法

算法2:採用了位運算來避免分支跳轉

下面是各個編程平臺的部分代碼截圖:

VC,C ,VB6,VC6運算性能大比拼,第一名你絕對想不到

VC2010代碼

VC,C ,VB6,VC6運算性能大比拼,第一名你絕對想不到

VB6.0代碼

各個編程平臺生成的程序運算使用時間如下:

VC,C ,VB6,VC6運算性能大比拼,第一名你絕對想不到

測試結果

我們可以看到:

  1. WINDOWS運行系統位數對程序的運行效率相差不大!

  2. VC平臺編譯優化能力比VC6要強很多,同樣的程序運行速度有明顯的提升!

  3. 算法2比算法1運行效率大概提高了3倍,可惜C#不支持將bool型強制轉換為整型,而調用Convert.ToInt16帶來了性能開銷,使其比算法1速度還慢!

  4. 通過比較效率最高的是VC2010(64),VB6.0效率最低!

大家認同這樣的結果嗎?

相關推薦

推薦中...