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文件:https://github.com/anpengapple/pypy_get_pipn下載完成後,使用如下命令進行安裝:
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 的觸控板按不下去?