求推荐个 demo 展示 go 相较于 Python 性能优势的

2020-11-17 09:20:51 +08:00
 specture

想在部门推广 golang,ppt 之前想通过一个 demo 演示展示 go 相较于 python 等性能方面的优势。求推荐一个 demo 或者场景,用 go 实现能明显更快的。

6663 次点击
所在节点    Go 编程语言
73 条回复
iConnect
2020-11-17 09:25:47 +08:00
fastapi
guonaihong
2020-11-17 09:26:09 +08:00
使用 wrk 压测下 http 框架的性能就可以了。
go 使用 net/http,也可以用 fasthttp,性能接近 rust 。
python 你选下。
xingshu1990
2020-11-17 09:27:43 +08:00
得看公司是用 python 解决什么东西,然后找这些案例针对性的去对比。
给一个天马行空的举例,没什么用。
araraloren
2020-11-17 09:28:32 +08:00
让 python 多 sleep 几秒。。
zarte
2020-11-17 09:31:34 +08:00
弄个正则匹配 py 就可以
b00tyhunt3r
2020-11-17 09:32:03 +08:00
go 现在 GC peak 优化的怎样了?看 discord 的 blog 感觉和 rust 差不是一星半点
ericls
2020-11-17 09:37:48 +08:00
CPU heavy 的基本上都可以
specture
2020-11-17 09:43:53 +08:00
@xingshu1990 web,还有后台流处理一些中间环节的计算(日志格式转换,正则匹配,多模等等)
specture
2020-11-17 09:44:39 +08:00
@zarte 正则之前测试过,正好也用到了,当时测试结果不太理想,go 比 python 用 threading 没快多少,不知道问题在哪
specture
2020-11-17 09:46:23 +08:00
@araraloren 有点不讲武德嗷
zarte
2020-11-17 09:48:37 +08:00
@specture 不是比线程,单纯的匹配一千个就 ok
tikazyq
2020-11-17 10:01:24 +08:00
https://gist.github.com/tikazyq/e596f9c7b214b4f0b368570ed4ee21a0

遍历 100000000 次
go: 0.058280 seconds
py: 3.965864 seconds

go 只消耗 1/68 倍 py 的运行时间

孰优孰劣,一目了然
seanseek
2020-11-17 10:05:14 +08:00
一个编译型一个解释性,不讲武德。。。
feiandxs
2020-11-17 10:20:09 +08:00
这是为了用个锤子找钉子啊。

正常逻辑不应该是,公司有某个业务用 Python 跑的,现在出现性能瓶颈,非 Go 不能解决。然后你来做一部分实现做对比,这个例子都不用别人帮你找,是你自己在业务中发现的。这样既有说服力,也是为了解决实际问题。

你现在是听说不少情况下 Go 跑的比 Python 快,然后你就要找个例子来强行证明比对一下。

那是不是公司业务中没有的部分你也生造个出来然后吊打一番?

我司现在就是 Python 和 Golang 混写。且我定下来的技术方向是赶速度的业务用 Python 写,但逐渐往 Golang 迁移。一些非对外提供接口服务的部分就仍然 Python 写下去,同时没事研究研究 Golang 社区这边有什么新东西,可以做个储备用。至于推广,我才不会为了性能来推广 Golang 呢,那写起来速度哪有 Python 快。我会在需要的时候该用就用。
labulaka521
2020-11-17 10:20:36 +08:00
这俩个比,年轻人你不讲五德,希望你耗子尾汁
specture
2020-11-17 10:20:42 +08:00
@tikazyq 感谢,简单明了!
dhssingle
2020-11-17 10:20:56 +08:00
Go 说实话不就 Java/C# 的性能,甚至还不如,为啥这么多人吹。
simenet
2020-11-17 10:21:10 +08:00
Python: 年轻人 耗子尾汁
specture
2020-11-17 10:24:59 +08:00
@feiandxs 兄弟别激动哦,其实公司业务部分现在我就有论证 go 的性能。我现在想要的如帖子说的,就是 ppt 开始之前一个热场的 demo 。目的单纯为了吸引注意不让分享变得枯燥,而不是因为这个 demo 就让大家把所有业务切换到 go 。

python 写起来是快,但是维护性真的不太行,性能只是一方面。不同的产品考虑点也不一样,我们团队的产品是企业级产品,对安全性,稳定性要求很高,之前也是出于快速 MVP 用来 python,但是对于我们产品长期来说 python 是要逐步退化为胶水语言,脚本语言来使用的
xingshu1990
2020-11-17 10:27:44 +08:00
给一个选择:编写 2-3 天,跑一个小时就结束;编写 1-2 小时,跑一天就结束。
不清楚 go 的具体编写难度,所以用上面这个比较夸大的比喻来描述两个语言的情况。
楼主弄懂上面这个比喻就好了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/726024

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX