python 优化加速方案
来源:互联网 发布:单片机烧不进程序 编辑:程序博客网 时间:2024/06/05 11:27
也看了知乎上关于python加速方案,有好多方案,但是感觉没全记住,这里把自己需要总结的记下来,
原文:https://www.zhihu.com/question/24695645?sort=created
优化 Python 性能:PyPy、Numba 与 Cython,谁才是目前最优秀的 Python 运算解决方案?
说说容易做并行化的。
开源解决方案里,支持自动并行化的,有numexpr/theano,能把基于numpy的表达式编译成能在多核/gpu上跑的形式,之前大作业有用到,效果不错,推荐题主试试。
对于复杂一些的情形,不是几个numpy表达式能搞掂的计算,你可以手动拆分计算,写一个worker函数,然后用multiprocessing库或者IPython Parallel来把worker函数分派到本地/远程机器上的多个核心搞计算。multiprocessing库属于标准库,在py3k里还有一个标准库concurrent.futures,相当于一个wrapper,用里面的ProcessPoolExecutor十分方便。对了,multiprocessing库不怎么鲁棒,有一系列坑,包括不能在repl下用/不能处理类的成员函数等。按照文档里最简单的写法来就没问题了。Numba可以pass掉。它还有一个商业版NumbaPro,能够自动做多核/GPU优化。反过来说,社区版的Numba短期内也只能编译到LLVM,不能自动并行化。看题主关心的应该是科学计算,不能并行化的解决方案没什么意思。
Cython可以pass掉,手动写并行,不如直接换C++,用那边的并行库。
pypy可以pass掉,这货拿来做web后端倒挺适合,拿来做科学计算就免了,numpy支持一堆坑。尤其是再做各种第三方numpy优化就更不行了,毕竟它的c api跟CPython都不一样。
阅读全文
0 0
- python 优化加速方案
- 38条PHP优化加速方案
- python 加速
- VS2010加速方案
- Ubuntu SBT 加速 方案
- 网站加速方案
- kcptun shadowsocks加速方案
- DXVA加速方案及加速级别
- php优化加速
- myeclipse7.5优化加速
- php优化加速
- 加速&优化技术
- 加速&优化技术
- Android模拟器优化加速
- TCP选项优化加速
- Eclipse 加速优化
- 加速优化android应用
- hybrid优化&webview加速
- Oracle之索引改造成主键
- 2017/10/22
- Javaweb开发的环境搭建
- CoreData查询常见用法
- jenkins持续集成环境配置
- python 优化加速方案
- ThinkPHP之根据时间显示问候语
- idea github
- LeetCode 14.Longest Common Prefix
- picasso源码简单解析
- JSP 2开发自定义标签
- Android性能优化之优化布局层次结构
- 程序员简历模板
- [6.837]A3:OpenG应用和Phong着色模型