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