Python性能优化:PyPy、Numba 与 Cython。PyPy的安装及对应pip的安装

  性能优化讨论见参考1:大概意思是,PyPy内置JIT,对纯Python项目兼容性极好,几乎可以直接运行并直接获得性能提升;缺点是对很多C语言库支持性不好。Numba是一个库,可以在运行时将Python代码编译为本地机器指令,而不会强制大幅度的改变普通的Python代码。Cython是一种Python + C的便利性组合,转为C编译的扩展执行效率非常高,但使用相对麻烦,移植CPython项目代价较高

  Python的默认编译器是CPython

  PyPy的Mac安装方法:

  1、官网下载二机制包,地址:https://pypy.org/download.html#default-with-a-jit-compiler

  2、直接解压到/usr/local/目录下,然后给添加执行命令的软链接:ln -s /usr/local/pypy3-v6.0.0-osx64/bin/pypy3 /usr/local/bin/pypy3

  3、安装pypy的pip:pypy3 -m ensurepip:http://doc.pypy.org/en/latest/install.html

成功后出现在site-packages和bin目录下

  4、给pypy的pip添加软链接,分别命名以区分python的pip命令

参考:

1、https://www.zhihu.com/question/24695645

2、http://doc.pypy.org/en/latest/install.html

3、https://pypy.org/

原文地址:https://www.cnblogs.com/shengulong/p/10051897.html

时间: 2024-10-08 17:30:26

Python性能优化:PyPy、Numba 与 Cython。PyPy的安装及对应pip的安装的相关文章

Python性能优化(转)

分成两部分:代码优化和工具优化 原文:http://my.oschina.net/xianggao/blog/102600 阅读 Zen of Python,在Python解析器中输入 import this. 一个犀利的Python新手可能会注意到"解析"一词, 认为Python不过是另一门脚本语言. "它肯定很慢!" 毫无疑问:Python程序没有编译型语言高效快速. 甚至Python拥护者们会告诉你Python不适合这些领域. 然而,YouTube已用Pyth

Python性能优化

1.优化算法时间复杂度 算法的时间复杂度对程序的执行效率影响最大,在Python中可以通过选择合适的数据结构来优化时间复杂度,如list和set查找某一个元素的时间复杂度分别是O(n)和O(1).不同的场景有不同的优化方式,总得来说,一般有分治,分支界限,贪心,动态规划等思想. 2.减少冗余数据 如用上三角或下三角的方式去保存一个大的对称矩阵.在0元素占大多数的矩阵里使用稀疏矩阵表示. 3.合理使用copy与deepcopy 对于dict和list等数据结构的对象,直接赋值使用的是引用的方式.而

python性能优化建议

参考: https://segmentfault.com/a/1190000000666603 http://blog.csdn.net/zhoudaxia/article/details/23853609     #使用cpython pypy提高性能 http://www.ibm.com/developerworks/cn/linux/l-cn-python-optim/   优化算法时间复杂度 算法的时间复杂度对程序的执行效率影响最大,在Python中可以通过选择合适的数据结构来优化时间复

Python性能优化的20条建议 (转载)

优化算法时间复杂度 算法的时间复杂度对程序的执行效率影响最大,在Python中可以通过选择合适的数据结构来优化时间复杂度,如list和set查找某一个元素的时间复杂度分别是O(n)和O(1).不同的场景有不同的优化方式,总得来说,一般有分治,分支界限,贪心,动态规划等思想. 减少冗余数据 如用上三角或下三角的方式去保存一个大的对称矩阵.在0元素占大多数的矩阵里使用稀疏矩阵表示. 合理使用copy与deepcopy 对于dict和list等数据结构的对象,直接赋值使用的是引用的方式.而有些情况下需

Python性能优化的20条建议

1.优化算法时间复杂度 算法的时间复杂度对程序的执行效率影响最大,在Python中可以通过选择合适的数据结构来优化时间复杂度,如list和set查找某一个元素的时间复杂度分别是O(n)和O(1).不同的场景有不同的优化方式,总得来说,一般有分治,分支界限,贪心,动态规划等思想. 2.减少冗余数据如用上三角或下三角的方式去保存一个大的对称矩阵.在0元素占大多数的矩阵里使用稀疏矩阵表示. 3.合理使用copy与deepcopy 对于dict和list等数据结构的对象,直接赋值使用的是引用的方式.而有

6个Python性能优化技巧

ython是一门非常酷的语言,因为很少的Python代码可以在短时间内做很多事情,并且,Python很容易就能支持多任务和多重处理. Python的批评者声称Python性能低效.执行缓慢,但实际上并非如此:尝试以下6个小技巧,可以加快Python应用程序. 1.关键代码可以依赖于扩展包 Python使许多编程任务变得简单,但是对于很关键的任务并不总是提供最好的性能.使用C.C++或者机器语言扩展包来执行关键任务能极大改善性能.这些包是依赖于平台的,也就是说,你必须使用特定的.与你使用的平台相关

Python成为编程语言中的第一!送你20条Python性能优化的建议!

1.优化算法时间复杂度 算法的时间复杂度对程序的执行效率影响最大,在Python中可以通过选择合适的数据结构来优化时间复杂度,如list和set查找某一个元素的时间复杂度分别是O(n)和O(1).不同的场景有不同的优化方式,总得来说,一般有分治,分支界限,贪心,动态规划等思想. timeit后面的-n表示运行的次数,后两行对应的是两个timeit的输出,下同.由此可见后者慢一个数量级. 进群:548377875  即可获取数十套PDF哦! 但是对于需要循环遍历的情况: 对于内存不是非常大的lis

python性能优化之列表生成

在看python算法时,发现简单的列表生成,不同的方式性能相差巨大,让我对性能优化有了很大兴趣.大家也来看一看平时有没有犯类似的错误呢. #!/usr/bin/env python import time def test1(n):     lst = []     for i in range(n*10000):         lst = lst + [i]     return lst def test2(n):     lst = []     for i in range(n*1000

python 性能优化

1.优化循环 循环之外能做的事不要放在循环内,比如下面的优化可以快一倍 2.使用join合并迭代器中的字符串 join对于累加的方式,有大约5倍的提升 3.使用if is 使用if is True比if == True将近快一倍 4.使用级联比较x < y < z x < y < z效率略高,而且可读性更好 5.使用**而不是pow %timeit -n 10000 c = pow(2,20) %timeit -n 10000 c = 2**20 10000 loops, best