探秘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#啊拿什么拯救你!

原文地址:https://www.cnblogs.com/jiangguanghe/p/GO.html