黄太龙
go语言不考虑并行计算的情况下,仅用go语言的同步的加法运算,和python相比,包含pypy运行python比拼。
go语言程序:
package main import ( "fmt" "time" ) func main() { t1 := time.Now().UnixNano() / 1e6 s := 0 for i:=0; i<100000000; i++ { s += i } t2 := time.Now().UnixNano() / 1e6 delta_t := t2 - t1 fmt.Println( s ) fmt.Println( delta_t ) }
python脚本如下:
import time t1 = time.time() s = 0 for i in range(100000000): s += i t2 = time.time() delta_t = t2 - t1 delta_t = delta_t * 1000 print(s) print(delta_t)
python需要的运算时间:16567ms
pypy需要运算的时间:200ms
go需要运算的时间:38ms
pypy大概是python的80多倍;
go大概是pypy5倍;
go大概是python的400多倍。
以上性能倍数仅是加法运算场景,脱离场景谈性能并不客观。