Python算法性能提升的几种方式

来源:互联网 发布:阿里云学生特惠 编辑:程序博客网 时间:2024/05/23 01:54

1、优化原本算法:在算法中尽量降低算法复杂度,充分利用已生成的数据作为缓存,用于下次。
2、使用Numpy:Numpy是专门用于计算数值的库,由于Numpy创建一个大的对象时需要大的内存开销,需要兼顾好初始化位置。有时使用可能并不会提高运行速度。
3、使用Numba:在Pypy中JIT技术能够显著提高python运行速度,但是由于兼容性问题,所以使用替代品的Numba来优化某一局部算法。而且Numba使用很方便。该库的NumbaPro还支持多核和GPU优化。
4、使用Cython:其理念是使用python语言来尽可能达到C语言的效率。
5、使用Pypy:内置JIT技术大幅提高性能,不过Pypy兼容性较差,对C的调用不是很好,尽量按照官方教程写,写的好性能直逼C。
6、使用C/C++语言:使用python快速编写某一方法,如果能用,可手工优化这部分。
7、配合MKL: Intel Math Kernel Library,提供经过高度优化和大量线程化处理的数学例程,面向性能要求极高的科学、工程及金融等领域的应用。
8、numexpr/theano并行化:使用并行化多核和GPU优化。