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

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

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

6986 次点击
所在节点    Go 编程语言
73 条回复
specture
2020-11-17 11:50:02 +08:00
@jjshare 欢迎讨论,但是这么带帽子不欢迎。java 我用了 5,6 年了,当然明白 java 的优势。但是每种语言都有其擅长区域,你不了解我们的业务怎么判断出我选型考虑 go 是错误的呢?这么武断判断的人适合做技术领导? 为啥考虑 go 而不考虑 java,原因就是有一部分功能和组件会以 agent 的方式运行在端上,这种场景兼顾运行效率和开发效率以及环境依赖以及社区,人才用 go 有很大的毛病?
wuwukai007
2020-11-17 11:56:23 +08:00
要说性能优势就太没说服力了,大家都知道 python 慢,那你们公司为什么当初还要用 python ?想想你们公司最看重的是什么,如果当初看重性能也不会用 python 。
jjshare
2020-11-17 12:07:46 +08:00
@specture 你自己说了啊~你们团队的产品是企业级产品,对安全性,稳定性要求很高。

这种场景兼顾运行效率和开发效率以及环境依赖以及社区。

运行效率,go 并不是最强的,开发效率上 go 要造的轮子多,也不是上选。

环境依赖,这个是虚拟化来解决的,也就是 docker 那套。

社区,python 、Java 哪个的社区没有 go 活跃吗?

我是看了你的话,才那么说的,不具备技术决策的能力,戴帽子谈不上,跟我没有关系。
gaolycn
2020-11-17 12:18:02 +08:00
@tikazyq @specture go 只是遍历 100000000 次,python 则创建长度是 100000000 的列表????这样比较?
Xusually
2020-11-17 12:22:14 +08:00
python:年轻人,耗子尾汁
blless
2020-11-17 12:36:09 +08:00
@tabris17 对公司还好,整个软件生态还是有差的
Jackeriss
2020-11-17 12:37:49 +08:00
web 开发不要在性能上纠结,都用协程差距不大,毕竟耗时在 IO,计算密集型任务 Python 一般会有对应的 C 库
Hellert
2020-11-17 12:38:51 +08:00
go 部署简单,这才是巨大优势,下个版本 1.16 自带嵌入资源功能,更方便了
tikazyq
2020-11-17 12:51:42 +08:00
@gaolycn 我就知道有小白要来较真,如果不生成数组改成 for 遍历,结果也一样
oahebky
2020-11-17 13:06:43 +08:00
Python 辞藻药丸,赶紧转 Golang !
yzbythesea
2020-11-17 13:10:37 +08:00
如果是 macbook 的话,跑 python 的时候,pmset -b reduce 1 可以对 CPU 降频。

如果是 PC 的话,工具应该会更多。
libook
2020-11-17 13:18:31 +08:00
https://benchmarksgame-team.pages.debian.net/benchmarksgame/index.html
这个网站上有很多种语言的计算密集型性能对比,你可以看看主流语言的对比情况,会发现现在很多情况和自己原本了解的不一样(比如 JS/Node.js 和 Java 性能差不多)。

要清楚的一点是,性能对比通常都是在计算密集的场景测试的,但对于业务服务开发来说,基本都是 CRUD,性能瓶颈通常在 IO 。

Go 的优势主要在于国内好招聘,以及学习成本低、团队代码管理成本低,技术烂的工程师也不会写出太烂的代码(相比其他主流语言来说的话)。
bbao
2020-11-17 13:25:48 +08:00
你自己连场景和 demo 都出不来,你怎么在部门内推广让其他人用啊?
est
2020-11-17 13:28:39 +08:00
标题是:

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


内容是:

python 写起来是快,但是维护性真的不太行,性能只是一方面。不同的产品考虑点也不一样,我们团队的产品是企业级产品,对安全性,稳定性要求很高


又要企业级,又要安全,又要稳定,又要性能优势,推荐用 JAVA
bbao
2020-11-17 13:28:42 +08:00
想一下子让所有人转语言,尤其在你自己还不懂都情况下,基本不可能。
如果楼主对 golang 感兴趣的话,可以在现有的框架或者业务模块,利用「业余」时间进行重写,然后比较线上目前运行模块的性能,和用 golang 重写之后的性能比较;这样久而久之,会比较有谁福利,而且你也能起到主导地位,也能逐步的替换。

先做个分享内容吧,有没有优势,优势是什么,不是通过你的 demo 和场景 其他人就能接受的,尤其,你还不懂的情况下。
lewinlan
2020-11-17 13:43:26 +08:00
Fastapi ? Cpy 混合编程?各种 lint ?还有 mypy 要不要了解一下?
Python 越折腾,越显示出 Go 的好处。
性能方面随随便便改写个现有的业务模块也都比 Python 快,而且还有说服力。
buffzty
2020-11-17 13:43:47 +08:00
@bbao 说的在理
hellos
2020-11-17 13:50:29 +08:00
@gimp 你得都跑一遍,兴许你的机器配置更高呢
skinny
2020-11-17 13:54:54 +08:00
居然拿 Pyhton 和 Go 比性能……那么在乎性能就不会用 Python 了。反正你都不能 Carry,别人干嘛要听你的,dotnet core 性能不一样秒 Python 吗?!而且语言还比 Go 好。
skinny
2020-11-17 13:56:20 +08:00
@skinny C#

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

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

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

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

© 2021 V2EX