探秘GO語言《比較C#與GO的性能》


這段時間也來學學GO語言,聽說它的性能相當的棒棒,我就拿C#來和它做比對一下。

這里只是單純了做了for循環的比對,看看誰的循環快

C# 代碼:

 static void Main(string[] args)
        {
            TestNumber();
        }
        static void TestNumber()
        {
            long num = 500000000;
            long count = 0;
            Console.WriteLine(DateTime.Now.ToString());
            for(var i=1;i<num;i++)
            {
                if(i%2==0)
                {
                    count++;
                }
            }
            Console.WriteLine(DateTime.Now.ToString());
            Console.WriteLine(count);
            Console.ReadKey();
        }

  

Go的代碼:

 

func main() {
	TestNumber2()
}

func TestNumber2() {
	var number int64
	number = 500000000
	var n int64
	var i int64
	fmt.Println(time.Now())
	for i = 1; i <= number; i++ {
		if i%2 == 0 {
			n = n + 1
		}
	}
	fmt.Println(time.Now().String())
	fmt.Println(n)
}

運行的結果如下:

 

C# 運行了五次,平均在14秒左右 (NET4.5環境)

GO運行了五次,平均在1秒左右     (GO 1.1.1環境)

 

按照上面的運行結果可以知道,在FOR循環里面,GO的性能大概是C#的14倍左右。

看來GO的性能真不是吹出來,實打實的有,C#啊拿什么拯救你!

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM