python:
# -*- coding: utf-8 -*-
# @Time : 2020-01-02 10:52
# @Author : xiaobin
# @File : thread_test.py
# @Software : PyCharm
import threading
import datetime
"""
对比 golang 多线程性能差异
"""
def text(a, b):
c = a + b
return c
start = datetime.datetime.now()
for iin range(10000):
t = threading.Thread(target=text, args=(i, i+1))
t.start()
end = datetime.datetime.now()
print end - start
goland:
package main
import (
"fmt"
"time"
)
func Text_goroute(aint, bint)int {
sum := a + b
return sum
}
func main() {
start:=time.Now()
for i:=0;i<10000;i++{
go Text_goroute(i,i+1)
}
end:=time.Since(start)
fmt.Println(end)
}
执行结果:
python : 0:00:00.797247
goland: 4.951978ms
结论:差不多160倍的差距
备注:不同主机上面差异可能会不同,但是goland多线程性能高IO优势数十倍于python是成立的。
衍生:python threading 与python gevent 与goland 并发压测HTTP接口差异;其实重点关注是python gevent 与goland谁更优且区别,python threading应该是最差的。