探秘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#啊拿什么拯救你!
浙公网安备 33010602011771号