Go语言在国内有多火?
现在市面上的大厂:华为、阿里巴巴、腾讯、百度、拼多多、京东、字节跳动、小米、美团、360……已经没有不用go语言的了……
而且,不仅如此
很多公司在重构自己之前的系统时,都不约而同地选择了go语言作为主要技术栈,而没有用在国内更成熟的java,比如B站、知乎、罗辑思维……
这难免让人困惑
从生态上来讲,java在国内的生态建设应该略胜go语言才对啊,为什么那么多公司或项目都“舍近求远”地使用看起来生态还不是很成熟的go语言呢?
所以这次
我们就从纯技术的角度做个测评,用Java生态里国内最常用的SpringBoot框架对比Go生态里国内用得比较多的iris框架,来做个性能对比。
具体技术栈
java11 + SpringBoot2.3 + SpringDataJpa2.3 vs go1.14 + iris12 + xorm0.7.9
测试项目
- 返回字符串
- 返回json
- 数据库全量查询(共12条数据)
注:每个项目各测3次
测试工具
wrk:超高性能的压力测试工具
测试命令
wrk -t12 -c400 -d10s
测试环境
- Ubuntu Server 18.04 on Vmvare
- 配置:4核/8G
- 数据库:MySql 8.0.20
测试结果
返回字符串性能对比,iris性能是SpringBoot的3倍多
返回json性能对比,iris性能是SpringBoot的3倍多
数据库全量查询性能对比,iris性能是SpringBoot的4倍多
结论
Iris完胜SpringBoot
通过上面的测试,大家应该也可以从技术上有一个概念,为什么Spring的生态已经很成熟,那么多的公司或项目却没用它,而是选用go语言作为技术栈
但是,请注意
这并不是说go就比java快,要知道java世界的性能担当并不是Spring,只是因为国内用Spring的公司比较多,所以本次测试才用Spring做对比
下期预告
下一期我们会用java世界里的高性能web框架——Vert.x,与go的iris再比一次,详情见:
MakeLoveTech:Go+iris吊打Java+SpringBoot,是Java老了吗?且慢,Vert.x有话要说zhuanlan.zhihu.com
本次测试全程都用视频录下来了,详情请点击:
Golang(go语言)为什么这么火?Java+SpringBoot+SpringDataJpa vs go+iris+xorm 性能对比告诉您答案【软件测评】_哔哩哔哩 (゜-゜)つロ 干杯~-bilibiliwww.bilibili.com