黄太龙
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多倍。
以上性能倍数仅是加法运算场景,脱离场景谈性能并不客观。