1
yuhangch 2022-03-30 18:21:46 +08:00
这么神奇吗,pandas 、numpy 统一一下版本试试?
|
2
wuwukai007 OP @yuhangch python3.6 装不了高版本的 pandas ,python3.10 装不了低版本的 pandas
|
3
felixcode 2022-03-30 18:27:42 +08:00 via Android
3.6 到 3.10 ,跨了五六年了
|
4
chenxytw 2022-03-30 18:29:30 +08:00 3
pandas/numpy 本身都会做很多性能优化的。特别是 numpy. 最后一个支持 python3.6 的版本是 1.19.5 两年能做很多性能优化了。比如 1.20 开始,numpy 开启了一个 SIMD 的优化计划( NEP-0038 )。
|
5
ClericPy 2022-03-30 21:13:17 +08:00
不提那几个库
3.7 比 3.6 优化还是特别明显的, 3.9 往后也比 3.7 优化很多, 每年都有人发性能对比那个图吧(各种模块的). 所以我以前的等两年追新已经变成等一年了, 哈哈 |
6
pengtdyd 2022-03-30 21:20:55 +08:00
软件优化好几年,还不如多花钱买几个服务器靠谱
|
7
tisswb 2022-03-30 21:32:15 +08:00
不说别的 async 的语法 3.6 以后一个版本比一个版本简洁好用
|
8
weyou 2022-03-30 22:03:27 +08:00 via Android
记得 3.8 版本对性能优化了一波
|
9
pochy06 2022-03-30 22:03:59 +08:00
Python 官方有个 benchmark: https://speed.python.org/comparison/
另外 3.9 开始用 PEG parser 了,加了一些语法糖,有一些表达比之前更简洁了。 |
10
LeeReamond 2022-03-30 23:11:38 +08:00 5
对 py 解释器性能比较关注,自己维护了个语言性能对比项目(基于 debian 的测试)。其实 py 解释器版本 3.9 以下最快的是 3.8 ,而 3.9 因为从 LL1 换成 PEG 似乎实机性能是还下降了一丢丢,3.10 有优化可以理解。理论上如果你需要开封即用的性能的话 dropbox 的谱 pyston 的实现由于未采用 pypy 的 cffi 类似方案所以不存在 c 类库兼容性问题,想要的话你可以立刻获得二倍性能的解释器,稳定性方面我司在日志服务和一些内部管理系统上用于生产环境未遇到问题。所以理论上有 pypy 和 pyston 在前面打样,guido 所说在未来几个版本里提升 4 倍性能的说法也完全不是什么天方夜谭。
|
11
agagega 2022-03-31 00:12:57 +08:00 via iPhone
@LeeReamond
OCaml 这个性能挺让人惊喜的啊; Swift 简直耻辱,作为和 Rust/Clang 同样背靠 LLVM 的静态编译语言性能这个样子 |
12
LeeReamond 2022-03-31 00:19:46 +08:00
@agagega 确实,不过这个性能对比也是看个乐,定性分析尚可,定量图一乐,debian 列的测试项目偏向算法实现效率,跟实际生产环境还是偏离挺远的
|
13
est 2022-03-31 10:05:46 +08:00
3.10 有函数调用优化。py 慢其实不是慢在计算,而是传参和调用函数。。。
|
14
ziding 2022-03-31 10:10:00 +08:00
@LeeReamond pyston 这么好用么?按这个说法,我可以直接替换了,谨慎的表示怀疑
|
15
zhlxsh 2022-03-31 10:57:03 +08:00
借楼问一下,你们服务器( centos )上用的新版 python 都是自己编译的吗?
|
16
wcsjtu 2022-03-31 11:40:13 +08:00
在我印象中,CPython 在 3.6 以后的版本中, 对虚拟机内部的实现做了大量的修改, 比如说 FastCall 机制等。 这些确实能提高 Python 本身的性能。但是对于 C/C++实现的第三方库而言, 如果想获得性能提升, 必须主动适配这些新特性。
总之 Python 的性能问题, 不是优化虚拟机本身就行了, 还有大量的第三方库要跟进……这个周期很长(guido 去年的说法是,未来 4 年提升 5 倍, 但我预估还会更长)。。。。。 所以,指望官方的工作来提升 Python 业务性能, 估计得另想它法了。 我们业务对 Python 性能比较敏感(AI 业务, 不得不用 Python), 目前是用自研的编译器,将 Python 代码编译成 native 的库, 尽可能脱离 Python 虚拟机的限制。在 benchmarkgame 中测试结果, 性能高于 PyPy; 在数值计算领域,单核性能与 numba 接近。 |
17
LeeReamond 2022-03-31 16:52:20 +08:00
@ziding 我觉得比起谨慎怀疑你为什么不直接用用看呢,毕竟 ubuntu 直装连编译都不用。。。pyston 因为本身 jit 的 hacking 比较少,你去看仓库可以看到报 bug 几乎都不存在的,但是这种四两拨千斤倒也确实是效果还不错毕竟纯运算性能已经接近 2x ,而内存增加相比之下非常少。。
|
18
ziding 2022-04-07 13:36:13 +08:00
@LeeReamond 经过我的测试,发现的确是这样。大部分业务响应时间缩短了 17%左右,还在分析为啥。有 2 个业务跑不起来。后面再来详细汇报
|