欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

pypy提升python項(xiàng)目性能使用詳解

 更新時(shí)間:2022年12月11日 09:26:19   作者:曲鳥(niǎo)  
這篇文章主要為大家介紹了pypy提升python項(xiàng)目性能使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

一、PyPy介紹

PyPy是用Python實(shí)現(xiàn)的Python解釋器的動(dòng)態(tài)編譯器,是Armin Rigo開(kāi)發(fā)的產(chǎn)品,能夠提升我們python項(xiàng)目的運(yùn)行速度。PyPy 是利用即時(shí)編譯的 Python 的替代實(shí)現(xiàn)。

背后的原理是 PyPy 開(kāi)始時(shí)就像一個(gè)解釋器,直接從源文件運(yùn)行我們的 Python 代碼。但是,PyPy 不是逐行運(yùn)行代碼,而是在執(zhí)行它們之前將部分代碼編譯為機(jī)器代碼。

根據(jù)官方文檔的介紹可以看到,平均下來(lái)PyPy比CPython(也就是我們主流使用的python)快4.5倍:

PyPy除了速度快外,還有下面一些特點(diǎn):

  • 內(nèi)存使用情況比cpython少
  • gc策略更優(yōu)化
  • Stackless 協(xié)程模式默認(rèn)支持,支持高并發(fā)
  • 兼容性好,高度兼容cpython實(shí)現(xiàn),基本可以無(wú)縫切換
  • PyPy為許多平臺(tái)和操作系統(tǒng)提供預(yù)編譯的二進(jìn)制文件:

二、PyPy安裝

我們直接訪(fǎng)問(wèn)下載地址:www.pypy.org/download.ht… 下載對(duì)應(yīng)的包使用即可。

下載完成后解壓到任意目錄然后加入到環(huán)境變量中:

然后在控制臺(tái)中執(zhí)行pypy就可以開(kāi)始使用它了:

三、PyPy和Python測(cè)試對(duì)比

我們可以通過(guò)一個(gè)簡(jiǎn)單的腳本來(lái)測(cè)試一下它們之間的性能差異,下面是一個(gè)循環(huán)3千萬(wàn)次的累乘計(jì)算:

import datetime
x = 0
start_time = datetime.datetime.now()
for i in range(30000000):
    x += i * i
print('耗時(shí):', datetime.datetime.now() - start_time)

測(cè)試結(jié)果

python耗時(shí): 0:00:03.357052
pypy耗時(shí): 0:00:00.761932

可以看到有近4.5倍的性能差距,這也符合PyPy官網(wǎng)介紹的。

四、PyPy注意事項(xiàng)

經(jīng)過(guò)測(cè)試PyPy也有一些庫(kù)是不支持的:

  • pyinstrument
  • sshtunnel

這只是我經(jīng)常使用的一些庫(kù)中發(fā)現(xiàn)不支持的庫(kù),但絕大部分的庫(kù)都是支持的,比如Django、requests、pymysql 等。

另外,對(duì)于諸如numpy、pandas這類(lèi)本身就是C語(yǔ)言開(kāi)發(fā)的擴(kuò)展時(shí),PyPy的性能反而會(huì)更低,PyPy只對(duì)純Python庫(kù)有明顯的性能提升。

最后在你決定要使用PyPy時(shí),你應(yīng)該思考你的項(xiàng)目是否有性能瓶頸,或者性能瓶頸是因?yàn)镻ython本身效率慢的問(wèn)題。如果是后端接口項(xiàng)目(類(lèi)似使用flask、django開(kāi)發(fā)的后端)其性能瓶頸往往在SQL的執(zhí)行和代碼本身的邏輯問(wèn)題上,而不是python執(zhí)行慢導(dǎo)致的。所以即便你使用了PyPy也大概率不能解決你的性能問(wèn)題。

以上就是pypy提升python項(xiàng)目性能使用詳解的詳細(xì)內(nèi)容,更多關(guān)于python pypy項(xiàng)目性能提升的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • python實(shí)現(xiàn)自動(dòng)打卡的示例代碼

    python實(shí)現(xiàn)自動(dòng)打卡的示例代碼

    這篇文章主要介紹了python實(shí)現(xiàn)自動(dòng)打卡的示例代碼,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-10-10
  • python實(shí)現(xiàn)簡(jiǎn)單猜單詞游戲

    python實(shí)現(xiàn)簡(jiǎn)單猜單詞游戲

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)簡(jiǎn)單猜單詞游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-12-12
  • Python+Selenium實(shí)現(xiàn)自動(dòng)填寫(xiě)問(wèn)卷

    Python+Selenium實(shí)現(xiàn)自動(dòng)填寫(xiě)問(wèn)卷

    這篇文章主要介紹了如何利用Python Selenium實(shí)現(xiàn)自動(dòng)填寫(xiě)問(wèn)卷功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2022-03-03
  • python共軛梯度法特征值迭代次數(shù)討論

    python共軛梯度法特征值迭代次數(shù)討論

    這篇文章主要介紹了python共軛梯度法特征值迭代次數(shù)討論,想了解共軛梯度法的同學(xué),需要著重看一下
    2021-04-04
  • Python基礎(chǔ)詳解之描述符

    Python基礎(chǔ)詳解之描述符

    這篇文章主要介紹了Python基礎(chǔ)詳解之描述符,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)python基礎(chǔ)的小伙伴們有非常好的幫助,需要的朋友可以參考下
    2021-04-04
  • python算法學(xué)習(xí)雙曲嵌入論文代碼實(shí)現(xiàn)數(shù)據(jù)集介紹

    python算法學(xué)習(xí)雙曲嵌入論文代碼實(shí)現(xiàn)數(shù)據(jù)集介紹

    由于雙曲嵌入相關(guān)的文章已經(jīng)有了一系列的代碼。本篇博客主要目的實(shí)現(xiàn)最開(kāi)始的雙曲嵌入論文,將論文中有些直接寫(xiě)出來(lái)的內(nèi)容進(jìn)行了細(xì)節(jié)的推導(dǎo),同時(shí)實(shí)現(xiàn)對(duì)應(yīng)的代碼
    2021-11-11
  • Diango + uwsgi + nginx項(xiàng)目部署的全過(guò)程(可外網(wǎng)訪(fǎng)問(wèn))

    Diango + uwsgi + nginx項(xiàng)目部署的全過(guò)程(可外網(wǎng)訪(fǎng)問(wèn))

    這篇文章主要給大家介紹了關(guān)于Diango + uwsgi + nginx項(xiàng)目部署的全過(guò)程(可外網(wǎng)訪(fǎng)問(wèn)),文中通過(guò)示例代碼將部署的過(guò)程介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-04-04
  • Python使用turtle庫(kù)繪制小豬佩奇(實(shí)例代碼)

    Python使用turtle庫(kù)繪制小豬佩奇(實(shí)例代碼)

    這篇文章主要介紹了Python使用turtle庫(kù)繪制小豬佩奇,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-01-01
  • Python實(shí)現(xiàn)批量圖片的切割

    Python實(shí)現(xiàn)批量圖片的切割

    本文主要介紹了Python實(shí)現(xiàn)批量圖片的切割,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-09-09
  • Python格式化字符串f-string的使用教程

    Python格式化字符串f-string的使用教程

    這篇文章主要為大家詳細(xì)介紹了Python中格式化字符串f-string的使用教程,文中通過(guò)示例為大家進(jìn)行了詳細(xì)的介紹,需要的可以參考一下
    2022-07-07

最新評(píng)論