我也談 C# 的執行效率到底有多高

最近大家都在討論C#的執行效率問題。由於採用的測試方法不同,測試結果差異很大。有些人得到結論,C#的速度竟然比 C++ 慢 20 倍!但是這樣的測試是沒有準確性的。

為什麼這麼說呢?語言的執行效率是要考慮編譯到機器碼後用戶代碼執行的緊湊性和高效性,而不是代碼本身的執行速度。因為代碼可以優化,.NET framework 也在升級,但編譯的機器碼卻是死的。編譯機制才是影響執行效率的最重要的原因。其它原因都不是根本原因。

單從計算和執行的角度來說,C#應該還是比較快的。

using System;

namespace test
{
    public class test
    {
        static void Main()
        {
            long j = 0;
            int t = Environment.TickCount;
            for (int i = 0; i < = 10000000; i++)
            {
                j += i;
            }
            Console.WriteLine("Time:{0},Return:{1}.", Environment.TickCount - t, j);
            Console.ReadLine();
        }
    }
}

結果用時:140 RETURN: 50000005000000
当前页阅读量为: