最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

pypy提升python項目性能使用詳解

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

一、PyPy介紹

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

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

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

PyPy除了速度快外,還有下面一些特點:

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

二、PyPy安裝

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

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

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

三、PyPy和Python測試對比

我們可以通過一個簡單的腳本來測試一下它們之間的性能差異,下面是一個循環(huán)3千萬次的累乘計算:

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

測試結(jié)果

python耗時: 0:00:03.357052
pypy耗時: 0:00:00.761932

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

四、PyPy注意事項

經(jīng)過測試PyPy也有一些庫是不支持的:

  • pyinstrument
  • sshtunnel

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

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

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

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

相關(guān)文章

  • 將數(shù)據(jù)集制作成VOC數(shù)據(jù)集格式的實例

    將數(shù)據(jù)集制作成VOC數(shù)據(jù)集格式的實例

    今天小編就為大家分享一篇將數(shù)據(jù)集制作成VOC數(shù)據(jù)集格式的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • Python導(dǎo)入txt數(shù)據(jù)到mysql的方法

    Python導(dǎo)入txt數(shù)據(jù)到mysql的方法

    這篇文章主要介紹了Python導(dǎo)入txt數(shù)據(jù)到mysql的方法,涉及Python操作txt文件及mysql數(shù)據(jù)庫的技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-04-04
  • 使用?OpenAI?API?和?Python?使用?GPT-3的操作方法

    使用?OpenAI?API?和?Python?使用?GPT-3的操作方法

    這篇文章主要介紹了使用?OpenAI?API?和?Python?使用?GPT-3,在本文中,我們將使用?GPT-3。我將向您展示如何訪問它,并提供一些示例來說明您可以使用它做什么,以及您可以使用它構(gòu)建什么樣的應(yīng)用程序,需要的朋友可以參考下
    2023-03-03
  • 舉例講解Python中裝飾器的用法

    舉例講解Python中裝飾器的用法

    這篇文章主要介紹了Python中裝飾器的用法,是Python學(xué)習(xí)進(jìn)階當(dāng)中的重要知識,需要的朋友可以參考下
    2015-04-04
  • 詳解【python】str與json類型轉(zhuǎn)換

    詳解【python】str與json類型轉(zhuǎn)換

    這篇文章主要介紹了【python】str與json類型轉(zhuǎn)換,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • python中的iterator和"lazy?iterator"區(qū)別介紹

    python中的iterator和"lazy?iterator"區(qū)別介紹

    這篇文章主要介紹了python中的iterator和?“l(fā)azy?iterator“之間有什么區(qū)別,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-04-04
  • 如何解決cmd運行python提示不是內(nèi)部命令

    如何解決cmd運行python提示不是內(nèi)部命令

    在本篇文章里小編給大家整理了關(guān)于如何解決cmd運行python提示不是內(nèi)部命令的相關(guān)內(nèi)容,有興趣的朋友們學(xué)習(xí)下。
    2020-07-07
  • Python實現(xiàn)讀取mat、tif和hdr格式數(shù)據(jù)

    Python實現(xiàn)讀取mat、tif和hdr格式數(shù)據(jù)

    遙感影像數(shù)據(jù)大多以tif格式或者以hdr格式進(jìn)行存儲,如果以mat格式進(jìn)行存儲,不會保留坐標(biāo)信息,本文將詳細(xì)介紹如何使用python來讀取這三種格式的數(shù)據(jù),需要的可以參考下
    2023-12-12
  • PyTorch使用GPU加速計算的實現(xiàn)

    PyTorch使用GPU加速計算的實現(xiàn)

    PyTorch利用NVIDIA CUDA庫提供的底層接口來實現(xiàn)GPU加速計算,本文就來介紹一下PyTorch使用GPU加速計算的實現(xiàn),具有一定的參考價值,感興趣的可以了解一下
    2024-02-02
  • python中cPickle類使用方法詳解

    python中cPickle類使用方法詳解

    這篇文章主要為大家詳細(xì)介紹了python中cPickle類的使用方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-08-08

最新評論

曲阜市| 夏河县| 龙里县| 墨江| 社旗县| 通渭县| 通渭县| 师宗县| 威信县| 鲜城| 蒲江县| 抚州市| 灵台县| 开鲁县| 平武县| 武城县| 无极县| 大兴区| 西平县| 黑山县| 翼城县| 巍山| 九龙县| 溧阳市| 略阳县| 怀仁县| 浦城县| 尉犁县| 茶陵县| 新营市| 贺兰县| 新竹市| 凤台县| 天门市| 永福县| 南川市| 彰化市| 古浪县| 陇南市| 乐业县| 轮台县|