根据 PEP 659 , Python 3.11
预计要实现 25%~50%的性能提升。另外 Guido 在 FasterCPythonDark.pdf 中给出的性能提升预期更为激进(每年 50%性能提升,4 年性能提升 5 倍)。
近期 Pyston 发布了基于 Python3.8 的新版本。Instagram 也发布了自己的性能改良版 Python Cinder 。似乎Python
终于想起来性能这回事了。不知道最后能做到什么程度。
1
imes 2021-05-14 11:52:29 +08:00
|
2
LokiSharp 2021-05-14 11:53:40 +08:00 4
终于发现自己比 Ruby 还慢了么= =
|
3
janxin 2021-05-14 12:05:04 +08:00 via iPhone
主要是微软大爹打钱了,有大腿了!
|
4
learningman 2021-05-14 12:07:04 +08:00 via Android 3
@imes 这图谁做的,Go 跑的比 C 还快就离谱。
|
5
agagega 2021-05-14 12:10:06 +08:00 via iPhone
@LokiSharp
我几年前测了下算 fibonacci 的时间:python2<ruby<python3,感觉很离谱 |
6
hronro 2021-05-14 12:10:43 +08:00
|
7
zjsxwc 2021-05-14 12:12:34 +08:00 1
pypy 性能强劲,堪比 C 的性能
|
8
hronro 2021-05-14 12:21:00 +08:00 1
@hronro
看了下图右下角附有仓库地址: https://github.com/niklas-heer/speed-comparison 去看了下他是怎么测的,结果发现 C 、Rust 、Nim 这些语言都没开编译优化,那结果自然不出所料了。 (据说 Rust 在 Debug 模式下很可能连 Python 都跑不过) |
9
Leviathann 2021-05-14 12:26:00 +08:00 via iPhone
@imes 难怪有人说 go 招黑。。这种奇葩的 benchmark
|
10
rust 2021-05-14 12:39:34 +08:00 1
@learningman 更离谱的是 Rust 比 PHP 还要慢...
一个静态编译型无 GC 语言比一个动态解释型有 GC 语言还要慢... |
11
felixcode 2021-05-14 12:44:03 +08:00 via Android
开局一张图,信口开河
|
13
princelai 2021-05-14 12:54:39 +08:00
julia 比 python 慢那么多就离谱,jit 编译器第一次跑要预热的,估计测是的人只跑了一遍就直接写结果了吧。
|
14
no1xsyzy 2021-05-14 13:06:30 +08:00
|
16
LeeReamond 2021-05-14 13:25:39 +08:00 3
其实很多时候不是技术问题,反倒是社会学问题,比如社区的组织形态决定他们能贡献何种方式的代码。python 的社区组织形态导致各自为战的工作者对于语法上的小的优化和改动频繁发表意见,而对于 cpython 解释器这类的问题没什么想法,这是结论其一。
结论其二是,其实不是社区组织形态的问题,只是有没有钱的问题。。。主流语言基本都有爹,有钱的爹对于语言影响力的推广作用是巨大的,比如你很难想象,guido 这回应该不是开窍了,只是单纯有钱了。。dropbox 虽然不是 flag 那种级别的公司,但也能算个二爹吧。 |
17
karatsuba 2021-05-14 13:28:08 +08:00
语法糖搞多了被人诟病了,Guido 这不是打自己脸吗
|
18
est 2021-05-14 13:31:45 +08:00
感谢微软!
|
19
leewi9coder 2021-05-14 13:39:26 +08:00
感谢微软!
|
20
WilliamYang 2021-05-14 13:56:54 +08:00 1
用了 Python 好多年,已经改用 go 了,真的受不了这几年 CPython 一直就是加语法糖,很高兴有 Pyston 这类优化性能又尽量兼容的解释器出现
|
21
efaun 2021-05-14 14:10:18 +08:00 3
我认为选择 python 就是为的方便快捷和数据分析,正经追求性能的人谁会用 python 呀!
|
22
leven87 2021-05-14 14:14:11 +08:00
@efaun 知乎和豆瓣都是 python 写的,instagram,netflix 也是 python 写的。 语言级别的性能没那么重要
|
23
vicalloy OP @leven87 性能不是决定一个项目成功的关键,但是性能提升还是有必要的。不然 Instagram 也不会去整各 Cinder 出来。Dropbox 用 Python,于是整了各 Pyston 出来。
|
24
SlipStupig 2021-05-14 14:28:40 +08:00
@efaun 你目前使用的这个论坛也是 python 写的。。
|
25
TypeError 2021-05-14 14:32:47 +08:00
有钱的是大爷,感谢微软
|
26
ipwx 2021-05-14 14:39:21 +08:00
其实 Python 做数据分析,性能绰绰有余了。。。
你说要性能?我看了看这两个月写的 2 万多行 C++ |
27
princelai 2021-05-14 14:43:27 +08:00 1
|
30
fengsien1999 2021-05-14 15:04:25 +08:00
@janxin 微软是给 Guido 个人的还是?给了多少?
|
33
princelai 2021-05-14 16:11:11 +08:00 1
@tabris17 #28 他们测试都是用纯语言去跑,但是实际上 python 的数据分析都是 pandas,numpy,sklearn,scipy 这些,都是经过 C,fortran 优化过的底层,所以不用来跑分,而是实际使用的话是很快的。
|
34
LeeReamond 2021-05-14 16:28:51 +08:00 via Android
@princelai 提个意见,应该搞对数坐标,更符合逻辑
|
35
princelai 2021-05-14 16:33:37 +08:00
@LeeReamond #34 底下那个时间(秒)其实应该叫做相对时间(倍),如果搞成对数坐标,bar 显示更好看,但是倍数关系会被破坏,变得不直观了,看的人需要反算 exp 推出倍数关系
|
38
Evilk 2021-05-14 17:31:25 +08:00
PHP8 + jit.还是很不错的
|
39
charlie21 2021-05-14 17:41:54 +08:00 via iPhone
python 圈子还是有点意思的,一个个的
|
40
harwck 2021-05-14 17:47:16 +08:00 via Android
Python 也就图一乐
|
41
chenqh 2021-05-14 19:18:41 +08:00
为什么 ruby 的 jit 是成功的? 减少了特性?还是不兼容 c 扩展?
|
42
chenqh 2021-05-14 19:19:11 +08:00
我只希望 python 能有 php8 的运行速度就可以了
|
43
learningman 2021-05-14 19:25:49 +08:00
@Anybfans #37 你测 md5 是在拿 pypy 和 C 比。。。
|
45
chaowang 2021-05-14 19:56:56 +08:00
用 python 谁会在乎性能呢,不都是因为生态还有上手容易吗
|
46
cabbage 2021-05-15 03:13:52 +08:00 via Android
纯语言性能 Python 确实绝对处劣势。不过实际上 py 现在不都当胶水用的嘛,比如大数据用 py 的,多数情况只是在用各种框架各种 binding 而已,pandas,numpy,numba,pyarrow,pyspark… 但是说回来总算正视性能问题了肯定是好事
|
47
Drahcir 2021-05-15 04:42:26 +08:00
然而 GIL 还在
|
49
viikker 2021-05-15 11:00:43 +08:00
性能的重要性越来越低了
|
50
Anybfans 2021-05-16 10:36:00 +08:00
@learningman #43 看了 pypy 有个更新说是 md5 效率大幅提升。。。
|
51
yy77 2021-05-17 16:30:06 +08:00
python 最强的性能提升方法难道不是调用外部的 c++函数嘛。
|