这样不就比 java 更快了吗?
1
est 2018-04-05 20:43:37 +08:00 2
你说的是 CPython 吧。Pypy, Cython, Jython, Numba 发来贺电。。。。。。。。。
|
2
ericls 2018-04-05 20:46:01 +08:00 via iPhone
性能有问题?
改架构 优化盈利模式 招人然后自己当老板 |
5
rogwan 2018-04-05 20:51:50 +08:00 via Android 2
绝大部分项目直到下线,都没机会遇上解释器是性能瓶颈的问题,20 年前的 CPU 和内存确实要考虑,现在很多问题直接堆硬件搞定。
|
6
inflationaaron 2018-04-05 22:40:31 +08:00 via iPhone
@est 在支持 Numpy 之前只能当个玩具(
|
7
murmur 2018-04-05 22:44:59 +08:00 1
python 调用 dll 很方便啊
涉及性能和安全的地方直接 c 搞定 |
8
cy18 2018-04-05 23:15:46 +08:00 via Android 1
Cython 了解一下
|
9
fwee 2018-04-05 23:19:28 +08:00
收益不多付出大
|
11
aristotll 2018-04-06 01:29:16 +08:00
你说的是 groovy...
|
12
aijam 2018-04-06 08:08:05 +08:00
谁说 cpython 不能编译,python -m compileall .
|
13
ZoomQuiet 2018-04-06 08:52:14 +08:00 via iPhone
|
15
ipwx 2018-04-06 10:03:40 +08:00
|
16
xnth97 2018-04-06 10:25:15 +08:00
@inflationaaron 在支持了 http://pypy.org/download.html#installing-numpy 目前没遇到什么问题
|
17
est 2018-04-06 10:51:25 +08:00
@inflationaaron 单支持 numpy 其实楼上说了已经支持了。。问题是其他更多的各种 C 写的库。。。。
|
18
blless 2018-04-06 11:12:04 +08:00 via Android
@rogwan 性能还是有差距的,尤其是一个进程只能跑满一核。16 核机器用 gunicorn 得开 33 worker …每个进程还要独立的数据库连接 内存消耗等等…总之跟 go 还是用差距的…
|
20
gnaggnoyil 2018-04-06 11:24:48 +08:00
@rogwan 能用一台机器带起来的需求为啥要靠加机器解决.大量机器之间的相互同步带来的问题不比它解决的问题少.而且 8102 年了在部分特定领域中论开发效率 Python 并没有显著优势.
|
21
blless 2018-04-06 11:47:32 +08:00 via Android
@rogwan 额…跟楼上说得差不多… python 关键是一个核就相当于一个节点了… go 语言版本 16 核机器 10 台也就 10 节点… python 就是最少 160 节点了 重启应用的时候…配置数据库瞬间爆炸,然后后续节点可能就启动不了 甚至直接雪崩
|
22
wizardforcel 2018-04-06 12:13:15 +08:00
|
23
wizardforcel 2018-04-06 12:15:50 +08:00
|
25
Kongtou OP @wizardforcel 我是 python 小白呢
|
26
agagega 2018-04-06 15:03:36 +08:00
又不是说编译了就能跟 Java 一样快..
说起来 MSVC 里 strstr 函数的实现也是蛮力法,不过上了 SIMD,似乎平均表现比 BM 还快 |
27
aminic 2018-04-06 15:09:17 +08:00 via Android
大妈清明上 v2ex,要出大事
|
30
msg7086 2018-04-07 00:13:49 +08:00
要像 Java 一样快,你为什么不去用 Java ?要像 Go 一样快,你为什么不去用 Go ?
|
31
tomychen 2018-04-07 15:45:06 +08:00
用 Go 吧
|
34
kefengong 2018-04-07 17:46:43 +08:00 via Android
为什么 Go 语言的性能还不如 Java ? http://www.zhihu.com/question/59481694?utm_source=qq&utm_medium=social (分享自知乎网)
|
35
kefengong 2018-04-07 17:50:20 +08:00 via Android
从回答来看 go 在大多数场景 性能比 java 好😁
|
36
msg7086 2018-04-08 13:01:06 +08:00 1
@Kongtou 如果你只是追求速度快(意味着你不追求项目的可维护性,公司是否挣钱,是否容易找到同事等等这些因素),那 Python 的速度的确可能不适合你。
但是日常开发时,99.999%的公司不会去关心 Python 的性能有多高,因为没有必要去关心。 我们是用 Ruby 的。前几年湾区大多数的初创企业起手都是 Ruby on Rails,这货比 Python 还要慢,但是大家都在用。谁关心性能?对于企业来说,可维护性,开发效率高不高,以及招人是不是方便,比这点破性能差距不知道要重要到哪里去了。项目维护跟不上,损失的是几十万几百万美元,服务器才多少钱,一个月扔几万美元堆服务器,太便宜了。 真的要用到性能的地方,老老实实 Go 或者 Java 或者 C 或者汇编。 可以看看 x264 和 x265 项目,特别是 x265,最近在大规模部署 AVX512 的汇编指令代码,那才是要追求性能时候的正确做法,和手调汇编比,优化编译 C 代码的速度简直太慢了。 |