Python 真的和 c 一样么

4 天前
 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

7378 次点击
所在节点    程序员
72 条回复
xuanbg
4 天前
我写的服务,接口响应速度一般都在 10ms 以下。1 秒的响应速度是不可能被接受的
dule
4 天前
所以写个代码我还要考虑机器会不会跑的太累?我只知道我用 python 舒服,前期先快速抢占市场,项目活了有稳定盈利,才有资格谈论优化
Instagram 日活 2.5 亿、Reddit 都是 python ,请问咱是什么公司就考虑性能了,跟用什么语言写有个毛关系?
prosgtsr
4 天前
现在有一种语言可以让你的接口响应时间减半,但是你的每日工作时间由 8 小时变为 12 小时,工资待遇不变,你换不换吧就说
iorilu
4 天前
@darkengine 1000 可以换成 100
gam2046
4 天前
这个逻辑就像兰博基尼和我自行车的速度是一样的,反正大家都要等红绿灯。
red13
4 天前
“C 程序的运行时间需要 0.001 秒,而 Python 程序的运行时间需要 0.1 秒,慢了 100 倍,但由于网络更慢,需要等待 1 秒,你想,用户能感觉到 1.001 秒和 1.1 秒的区别吗?”

这句话完全没有 Python 和 C 是一样的 这个意思
codersdp1
3 天前
在 IO 密集型应用中听起来没毛病,CPU 密集型应用就不得行了。
chenqh
3 天前
PHP 都能用来做 web,python 为什么不可以呢?
QiShine
3 天前
引力波发现的数据分析也是 python 搞的
opengps
3 天前
你真要考虑这问题的话,不要放到服务器上考虑,而是放到那种超低端的单片机上去考虑,这时候才是需要考虑这个问题的时候
对于服务器来说,早就脱离单体程序了,比较轻松的可以选择升级配置更换硬件甚至直接分布式集群解决瓶颈。
bruce0
3 天前
@HiHuan 这个可能真不是吹牛皮,我们原来打算用云的 redis,但是云的 redis 的网络延迟在 100 微秒左右(没看错,就是在 100 微秒 0.1ms),联系了他们的 redis,网络工程师等等一起研究,网络工程师说因为涉及到多跳,最少 100 微秒左右.我们使用 redis 在单线程中,没有多线程并发(祖传的,就是这样用,要改相当于整个游戏存储重写),这样会把 QPS 限制在不到 1w,我记得在 7000 左右. 因为一个玩家登录,会涉及到到次 redis 读写,所以只要在线人数超过 1000 人,这个服就开卡了.没法办,我们只能用自建的 redis,使用 127 直连
xiaomushen
3 天前
@bruce0 游戏服务端应用还是尽量单体。另外,你直接用内存不香么?干嘛要用 redis ?我们是直接移植 redis 代码,静态编译在应用里的(因为要用那些数据结构,反复了很久,决定直接用 redis 代码)
clarkethan
3 天前
首先是人,其次是场景,最后才是语言

最近刚被合作伙伴的 python 小子坑了一把,第三方把金额、汇率之类的数据以字符串的形式给他,他转成浮点数,内部很多逻辑处理完,然后再把一堆数据转成字符串给我,于是,那天我听着窗外台风桦加沙的呼呼声,远程教他为什么有些数据会有一点点对不上

其实人是真正决定最终跑得好不好的最大因素,python 队伍里面半吊子太多
nyxsonsleep
3 天前
python 胶水层可以慢慢优化,问题不大。只要业务在云上就行。
zhhcnn
3 天前
如果是一个 1 秒执行一次的操作,你为什么要在乎他执行需要 1ms 还是 1s ,对你来说有区别吗,等需要 1 秒执行 1000 次再考虑性能
Dispatcher
3 天前
实际上 python 和 c 对比不合理,因为一个是编译,一个是解释执行。二者没有对比性,就像同样是飞机,一个是螺旋桨,一个是涡喷。

如果说都是解释执行,c 和 lua 更近一些。用 lua 和 python 对比可能更好一些;但是很可惜,lua 完胜,python 完败。

这并不是说 python 一无是处,衡量一个语言的生命力,我觉得要看:
1 、生态; 2 、场景; 3 、未来。

当下的 python 的生态是当之无愧的第一,我觉得这个结论应该是无人质疑的吧; python 在可预见的未来,也不太会象是 perl 、ruby 一样陨落;
唯一的争议是 python 的性能方面的劣势;不过对于非密集计算场景,其实大多数时候足够用了;
prosgtsr
3 天前
@bruce0 你这个场景应该放内存,访问可以从微秒级变成纳秒级
cufezhusy
3 天前
金融行业 Python 肉眼可见的越来越流行。开发速度快实在是太重要了
nightwitch
3 天前
计算密集型和 IO 密集型的场景都分不开的话不用考虑这个问题
smlcgx
3 天前
现在不是流行先做,再完美吗? py 正好适合干这个

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

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

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

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

© 2021 V2EX