這段時間也來學學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#啊拿什么拯救你!