有些资料显示golang的运行速度很慢,比Java慢,有时比Python慢。学习吧测试发现golang的运行速度和Java差不多。

首先,使用各种语言编写同一个CPU密集的程序sum。

C(或C++)

#include

#include

#include

int main(void){

int iN;

int64_t jN;

scanf("%d %ld",&iN,&jN);

time_t timeBegin=time(NULL);

int i;

for(i=0;i

int64_t sum=0;

int64_t j;

for(j=0;j

sum+=j;

}

printf("sum:%ld\n",sum);

}

time_t timeEnd=time(NULL);

printf("%ds\n",(int)(timeEnd-timeBegin));

return 0;

}

Golang

package main

import "fmt"

func main() {

for i := 0; i < 10; i++ {

var sum int64 = 0

var j int64

for j = 0; j < 1000000000; j++ {

sum += j

}

fmt.Println("sum:", sum)

}

}

Java

package hello;

public class Hello {

public static void main(String[] args) {

long startTime = System.currentTimeMillis();

for (int i = 0; i < 10; ++i) {

long sum = 0;

for (long j = 0; j < 1000000000; ++j) {

sum += j;

}

System.out.println("sum:" + sum);

}

long endTime = System.currentTimeMillis();

System.out.println((endTime - startTime) / 1000.0 + "s");

}

}

Python

#!/usr/bin/env pypy

#coding:utf-8

for i in range(10):

s=sum(range(1000000000))

print('sum:%d'%s)

运行速度统计:

编程语言 第一次时间 第二次时间

C 6s 6s

Golang 6.327s 6.159s

Java 6.03s 5.981s

Python 15.860s 13.184s

结论,golang的运行速度和Java差不多,比Python快。