<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
PyPy是用Python實現的Python直譯器的動態編譯器,是Armin Rigo開發的產品,能夠提升我們python專案的執行速度。PyPy 是利用即時編譯的 Python 的替代實現。
背後的原理是 PyPy 開始時就像一個直譯器,直接從原始檔執行我們的 Python 程式碼。但是,PyPy 不是逐行執行程式碼,而是在執行它們之前將部分程式碼編譯為機器程式碼。
根據官方檔案的介紹可以看到,平均下來PyPy比CPython(也就是我們主流使用的python)快4.5倍:
PyPy除了速度快外,還有下面一些特點:
我們直接存取下載地址:www.pypy.org/download.ht… 下載對應的包使用即可。
下載完成後解壓到任意目錄然後加入到環境變數中:
然後在控制檯中執行pypy
就可以開始使用它了:
我們可以通過一個簡單的指令碼來測試一下它們之間的效能差異,下面是一個迴圈3千萬次的累乘計算:
import datetime x = 0 start_time = datetime.datetime.now() for i in range(30000000): x += i * i print('耗時:', datetime.datetime.now() - start_time)
測試結果
python耗時: 0:00:03.357052
pypy耗時: 0:00:00.761932
可以看到有近4.5倍的效能差距,這也符合PyPy官網介紹的。
經過測試PyPy也有一些庫是不支援的:
這只是我經常使用的一些庫中發現不支援的庫,但絕大部分的庫都是支援的,比如Django、requests、pymysql
等。
另外,對於諸如numpy
、pandas
這類本身就是C語言開發的擴充套件時,PyPy的效能反而會更低,PyPy只對純Python庫有明顯的效能提升。
最後在你決定要使用PyPy時,你應該思考你的專案是否有效能瓶頸,或者效能瓶頸是因為Python本身效率慢的問題。如果是後端介面專案(類似使用flask、django開發的後端)其效能瓶頸往往在SQL的執行和程式碼本身的邏輯問題上,而不是python執行慢導致的。所以即便你使用了PyPy也大概率不能解決你的效能問題。
以上就是pypy提升python專案效能使用詳解的詳細內容,更多關於python pypy專案效能提升的資料請關注it145.com其它相關文章!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45