Mac上提升python運算速度-PyPy初體驗

最近跟著導師參加了天池的廈門航空演算法大賽,比賽的整體思路就是通過建立整數規劃模型來求解可行解,得到航班調度的安排。參加比賽遇到的一大問題是模型中的決策變數太多,難以快速的求解出答案,所以嘗試了如何提升python的運行速度。本文主要介紹的方法就是通過pypy這一工具來提升python運行速度。

1、什麼是PyPy

PyPy是用Python實現的Python解釋器。更為具體的概念可以參考百度百科。

2、Mac上安裝PyPy

這裡我們使用brew來安裝PyPy。首先我們可以看一下有哪些可以安裝的PyPy版本,使用如下命令:

brew search pypyn

可以看到有兩個PyPy版本,很容易從名字就看出來一個是針對python2的,一個是針對python3的,我兩個都裝了,所以顯示了兩個對勾。n這裡建議大家安裝python2版本的,因為裝了python3版本的之後發現pandas安裝總是報錯。n使用如下命令安裝PyPy

brew install pypyn

等待安裝完成即可。

3、PyPy使用pip安裝第三方庫

PyPy是獨立於系統自身的python環境的,所以它不能使用系統自身已經安裝的python第三方庫,所以使用PyPy運行python程序時,如果涉及到第三方庫,會報找不到模塊的錯誤,所以需要給PyPy安裝相應的第三方庫,方法如下:n首先需要下載get-pip.py文件:github.com/anpengapple/n下載完成後,使用如下命令進行安裝:

pypy get-pip.pyn

執行完之後,我們就可以使用pypy安裝我們需要的第三方庫了,比如我們想要安裝xlwt:

pypy -m pip install xlwtn

如果不加pypy -m 則默認安裝到你的python環境下。n效果如下圖:

4、PyPy性能測試

寫一個簡單的小程序來測試PyPy的運行性能:

import datetimenntime1 = datetime.datetime.now()nprint (time1)for i in range(1000): for j in range(1000): for t in range(1000):n passntime2 = datetime.datetime.now()nprint (time2)nprint (time2-time1)n

測試結果如下:

性能對比

可以發現PyPy的運行性能簡直完爆使用默認的python環境的性能。

推薦閱讀:

求推薦個mac背包,男生用,13寸的,價格800以下的?
OS X 上哪些軟體稱得上偉大?
秀一下你的 brew list,有什麼好玩的 tool 嗎?
如何防止MacBook Air 的觸控板按不下去?

TAG:Python | Mac | Python框架 |