为什么 Python 不做成既能解释执行又能编译执行的语言呢?

2018-04-05 20:30:48 +08:00
 Kongtou

这样不就比 java 更快了吗?

7717 次点击
所在节点    Python
36 条回复
blless
2018-04-06 11:47:32 +08:00
@rogwan 额…跟楼上说得差不多… python 关键是一个核就相当于一个节点了… go 语言版本 16 核机器 10 台也就 10 节点… python 就是最少 160 节点了 重启应用的时候…配置数据库瞬间爆炸,然后后续节点可能就启动不了 甚至直接雪崩
wizardforcel
2018-04-06 12:13:15 +08:00
@inflationaaron NumPy 调用了 C 共享库,根本不需要 PyPy 这种东西。

而且 C 代码里面大量用了 SIMD,可能比 PyPy 优化得还好。
wizardforcel
2018-04-06 12:15:50 +08:00
@Kongtou 论 AOT,有 Cython。论 JIT,有 PyPy 和 Jython。

我就不明白为啥 LZ 拿最慢的实现来比(虽然它是官方的实现)。
param
2018-04-06 13:06:58 +08:00
@ZoomQuiet 咦,大妈
Kongtou
2018-04-06 13:12:45 +08:00
@wizardforcel 我是 python 小白呢
agagega
2018-04-06 15:03:36 +08:00
又不是说编译了就能跟 Java 一样快..
说起来 MSVC 里 strstr 函数的实现也是蛮力法,不过上了 SIMD,似乎平均表现比 BM 还快
aminic
2018-04-06 15:09:17 +08:00
大妈清明上 v2ex,要出大事
est
2018-04-06 16:48:58 +08:00
@blless chain reload 了解一下。。。

就是一个 worker 重启完毕了再重启下一个。
murmur
2018-04-06 23:23:20 +08:00
@MrgHOST 不是有个 cdll 么
msg7086
2018-04-07 00:13:49 +08:00
要像 Java 一样快,你为什么不去用 Java ?要像 Go 一样快,你为什么不去用 Go ?
tomychen
2018-04-07 15:45:06 +08:00
用 Go 吧
Kongtou
2018-04-07 16:01:02 +08:00
@tomychen 听说 go 性能不如 JAVA
Kongtou
2018-04-07 16:03:56 +08:00
@msg7086 Python 慢让我莫名难受
kefengong
2018-04-07 17:46:43 +08:00
为什么 Go 语言的性能还不如 Java ? http://www.zhihu.com/question/59481694?utm_source=qq&utm_medium=social (分享自知乎网)
kefengong
2018-04-07 17:50:20 +08:00
从回答来看 go 在大多数场景 性能比 java 好😁
msg7086
2018-04-08 13:01:06 +08:00
@Kongtou 如果你只是追求速度快(意味着你不追求项目的可维护性,公司是否挣钱,是否容易找到同事等等这些因素),那 Python 的速度的确可能不适合你。

但是日常开发时,99.999%的公司不会去关心 Python 的性能有多高,因为没有必要去关心。

我们是用 Ruby 的。前几年湾区大多数的初创企业起手都是 Ruby on Rails,这货比 Python 还要慢,但是大家都在用。谁关心性能?对于企业来说,可维护性,开发效率高不高,以及招人是不是方便,比这点破性能差距不知道要重要到哪里去了。项目维护跟不上,损失的是几十万几百万美元,服务器才多少钱,一个月扔几万美元堆服务器,太便宜了。

真的要用到性能的地方,老老实实 Go 或者 Java 或者 C 或者汇编。
可以看看 x264 和 x265 项目,特别是 x265,最近在大规模部署 AVX512 的汇编指令代码,那才是要追求性能时候的正确做法,和手调汇编比,优化编译 C 代码的速度简直太慢了。

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

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

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

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

© 2021 V2EX