最近跟着导师参加了天池的厦门航空算法大赛,比赛的整体思路就是通过建立整数规划模型来求解可行解,得到航班调度的安排。参加比赛遇到的一大问题是模型中的决策变量太多,难以快速的求解出答案,所以尝试了如何提升python的运行速度。本文主要介绍的方法就是通过pypy这一工具来提升python运行速度。
PyPy是用Python实现的Python解释器。更为具体的概念可以参考百度百科。
这里我们使用brew来安装PyPy。首先我们可以看一下有哪些可以安装的PyPy版本,使用如下命令:
brew search pypy
可以看到有两个PyPy版本,很容易从名字就看出来一个是针对python2的,一个是针对python3的,我两个都装了,所以显示了两个对勾。 这里建议大家安装python2版本的,因为装了python3版本的之后发现pandas安装总是报错。 使用如下命令安装PyPy
brew install pypy
等待安装完成即可。
PyPy是独立于系统自身的python环境的,所以它不能使用系统自身已经安装的python第三方库,所以使用PyPy运行python程序时,如果涉及到第三方库,会报找不到模块的错误,所以需要给PyPy安装相应的第三方库,方法如下: 首先需要下载get-pip.py文件:https://github.com/anpengapple/pypy_get_pip 下载完成后,使用如下命令进行安装:
pypy get-pip.py
执行完之后,我们就可以使用pypy安装我们需要的第三方库了,比如我们想要安装xlwt:
pypy -m pip install xlwt
如果不加pypy -m 则默认安装到你的python环境下。 效果如下图:
写一个简单的小程序来测试PyPy的运行性能:
import datetime
time1 = datetime.datetime.now()
print (time1)for i in range(1000): for j in range(1000): for t in range(1000):
pass
time2 = datetime.datetime.now()
print (time2)
print (time2-time1)
测试结果如下:
性能对比
可以发现PyPy的运行性能简直完爆使用默认的python环境的性能。
想了解更多? 那就赶紧来关注我们