有些資料顯示golang的運行速度很慢,比Java慢,有時比Python慢。學習吧測試發現golang的運行速度和Java差很少。golang
首先,使用各類語言編寫同一個CPU密集的程序sum。編程
C(或C++)編程語言
#include <stdio.h> #include <stdint.h> #include <time.h> int main(void){ int iN; int64_t jN; scanf("%d %ld",&iN,&jN); time_t timeBegin=time(NULL); int i; for(i=0;i<iN;++i){ int64_t sum=0; int64_t j; for(j=0;j<jN;++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"); } }
Pythoncode
#!/usr/bin/env pypy #coding:utf-8 for i in range(10): s=sum(range(1000000000)) print('sum:%d'%s)
運行速度統計:utf-8
編程語言 第一次時間 第二次時間 C 6s 6s Golang 6.327s 6.159s Java 6.03s 5.981s Python 15.860s 13.184s
結論,golang的運行速度和Java差很少,比Python快。io