Python 真的和 c 一样么

3 天前
 minchieh

廖雪峰 python 教程中的一段话:“C 程序的运行时间需要 0.001 秒,而 Python 程序的运行时间需要 0.1 秒,慢了 100 倍,但由于网络更慢,需要等待 1 秒,你想,用户能感觉到 1.001 秒和 1.1 秒的区别吗?”

从时间上我觉得他说的对,确实不用太在乎他的执行速度,毕竟短板在其他的 io 上(如网络)
但是 cpu 呢,如果同样服务 1000 个客户端,c 只要 RK3588 就可以了,而 python 需要 12 代 I7 这成本就高了,是不是,特别是我们这种不停强调降本,低价吸客户的公司

其实我也不关注廖说的 1.1 秒还是 1.01 秒,只是如果完成这个工作,一个 cpu 花费 20hz ,一个花费 2000hz ,我就扛不住了,作为服务端程序,我得多堆叠 100 台服务器才能完成

Benchmarks Game - Python 3 vs C++ Performance Comparison

7124 次点击
所在节点    程序员
70 条回复
thinkershare
3 天前
大家觉得 python 不慢是因为那些 python 很慢的东西,大家选择了用 c/c++实现,然后用 python 做 wrapper. python 所有普遍对性能有要求的包,无不是如此实现的。
NoobPhper
3 天前
java 之父马士兵。python 之父廖雪峰
wakarimasen
3 天前
有的时候劳动力成本比服务器成本要高,比如加台机器一年要花几万,但是几万元你未必能雇佣到能省下这台机器的工程师。
darkengine
3 天前
一个 cpu 花费 20hz ,一个花费 2000hz

。。。怎么还有花费赫兹的说法。。。。


说句得罪人的话,80%的项目都等不到它的 1000 个用户。
paopjian
3 天前
网页交互的实时性需求并不是那么高吧, 技术栈选 python 还是为了快速上马 快速迭代开发, 而且 python 也能调用底层库优化速度, 感觉没有那么不堪, 循环什么的慢倒是真的慢. 不然也不会有 numba 什么事了, GIL 虽然是个不好用的东西,但是省心智了
zpxshl
3 天前
@javalaw2010 我们线上统计,客户端发网络请求到收到回复。90 分位要 1 秒以上的。
penzi
3 天前
如果讨论 service ,python 垃圾并不是垃圾在计算性能
xgdgsc
3 天前
用 Julia 就行了
minami
3 天前
考虑到 Python 在 90%以上的情况下都是指 CPython ,那 Python 就是 C ,你嫌慢写 C 函数呗,这就是个胶水语言
skye
3 天前
当用单个用户请求 case 来评估服务器容量的时候,对不对已经不太重要了,开心就好
xwander
3 天前
纸上得来终觉浅,直接看别人的源码你会提升更快。
就算是 C 语言已经很快,Linux 内核代码里,容易造成性能瓶颈的地方往往是直接用汇编。一个成熟的项目往往都是混合语言的,Python 调库,C 语言实现库,并存优于单一语言实现。
HiHuan
3 天前
@emSaVya 20ms 就受不了了?这么能吹牛逼我还以为这里是逼乎呢
xizh007
3 天前
看你要不要 "先把东西做出来"
iyaozhen
3 天前
其实很多项目,一天平均 qps 还没开发人员多

不过话说回来,如果单纯 python web ,确实垃圾,谁用过谁知道
CaptainD
3 天前
火车和皮卡。。。
wangtian2020
3 天前
错误的,python 和 nodejs 一样,我公司 95%的业务都用 python 写,但是最近一个新项目我用 nodejs 写后端了
Immunize
3 天前
错误的,网络延迟你可以靠并发去掩盖,比如单个用户 0.1s (处理时间) + 0.9s (传输时间) 的场景,大可以在等待 IO 的时候去服务其他用户,毕竟网络 Socket 本身是交给内核去处理。但是如果处理时间要 1s ,那真的就只能处理 1/10 的用户了。
felixcode
3 天前
理论上很多模块可以用 FPGA 实现,用 Verilog 编写,只是开发量大了一点点点而已,但速度又是几十倍的提升啊
skallz
3 天前
现在绝大部分 web 项目都不太需要考虑服务器性能问题,用户量和数据量根本上不去。。。等到真需要性能的时候,加机器比加人换语言写性能更好的代码更有性价比,等到加机器搞不定的时候再换语言重构部分服务就行(除非项目一开始就定位为用户量大了),就算淘宝也是从 php 到 java 这样的历程走过来的
zepc007
3 天前
一个是你舒服,另外一个是机器舒服,你选择哪个舒服?

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

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

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

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

© 2021 V2EX